黑马程序员-Java学习01-基础语法

来源:互联网 发布:电脑桌面软件图标 编辑:程序博客网 时间:2024/06/06 13:57

-----------android培训java培训、java学习型技术博客、期待与您交流!------------


1.)dos常用命令

习Java语言之前,先要掌握一些常用的dos命令,如:

dir:列出当前目录下的文件以及文件夹

md:创建目录(文件夹)

rd:删除目录

cd:进入指定目录

cd..:退出当前目录,返回到上一级目录

cd\:退回到根目录

del:删除文件

del*:删除所有文件

del*.文件扩展名:删除同一类型的文件

exit:退出dos命令行

echo:创建文件。如:echo我可以(这里是文件内容)>我可以.txt

cls:清屏

help:显示所有命令及描述

exit:关闭

    注:在dos命令行里用rd删除文件夹时,必须保证文件夹里面没有文件,此时可以单个的删除里边的文件,也可以使用del+文件夹的方式删除里边的所有文件。

    技巧:当我们要进入一个目录,而目录名很长,如:目录名为woshiheimachengxuyuan,我们可以用 cd woshi*,用*代替后面文字的方式来简写,效率快。


2).关键字:

 定义:被Java赋予了特殊含义的单词。

        特点:体现上都是英文小写。

(1) 用于定义数据类型的关键字

基本数据类型:

        整数类型:byte  short  int  long   浮点类型:float  double

        字符类型:char                            布尔型:boolean

引用数据类型:

        class()  interface(接口)

void用于函数上表示无返回值类型

(2)用于定义数据类型值的关键字

        true() false()  null()

(3) 用于定义流程控制的关键字

        判断:if  else  switch case  default

        循环:for  while  do 

        继续循环:continue                    结束循环或选择结构:break

        返回:return

4、 用于定义访问权限修饰符的关键字

        private(私有的) protected(受保护的)  public(公有的)

5、 用于定义类、函数,变量修饰符的关键字

        abstract(抽象的) final(最终的)  static(静态的)  synchronized(同步的) enum(枚举)

6、用于定义类与类之间关系的关键字

        extends(继承) implements(实现)

7、 用于定义建立实例及引用实例,判断实例的关键字

        new(建立实例)  this(当前引用)  super(父类引用)  instanceof(判断对象类型)

8、 用于异常处理的关键字

        try(检查异常)  catch(捕获异常)  finally(最终执行

        throw  throws:两多表示抛出异常,但使用位置不同

9、 用于包的关键字

        package(创建包) import(导入包)

10、其他修饰关键字

        native(本地)          

        strictfp(strict float point,精确浮点)  

        transient(变量修饰符,用它声明一个实例变量,在对象序列化时不会被序列化)

        volatile(类型修饰符,用来修饰被不同线程访问和修改的变量

        assert(断言,可以看作是异常处理的一种高级形式,用于捕捉我们在代码中做出的假设)

注:main不是关键字,却是被虚拟机所识别的一个名称。



3).标识符:字母,数字,_,$ 开头不能用数字

java中的名称规范:

        包名:多单词组成时所有字母都小写。

                xxxyyyzzz

        类名接口名:多单词组成时,所有单词的首字母大写。

                XxxYyyZzz

        变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。

                xxxYyyZzz

        常量名:所有字母都大写。多单词时每个单词用下划线连接。

                XXX_YYY_ZZZ


4)常量

        定义:Java中固定不变的、表示不能改变的数值。

Java中常量的分类:

        1,整数常量。所有整数。

        2,小数常量。所有小数。

        3,布尔型常量。较为特有,只有两个数值。true  false

        4,字符常量。将一个数字字母或者符号用单引号( ' ' )标识。

        5,字符串常量。将一个或者多个字符用双引号(“”)标识。

        6null常量。只有一个数值就是:null

对于整数,Java有三种表现形式:

    - 
十进制:0-9,满101
    - 
八进制:0-7,满810开头表示。
    - 
十六进制:0-9A-F,满1610x开头表示。
进制转换:decimal to binary: 除二取余,再倒序   其它进制转换可以先转成二进制或者十进制再互相转。
负数的二进制表现形式:只要将对应的正数取反加1就行了。



5)变量

变量的长度说明:
byte:1个字节,八位 -128-127
short:两个字节
int:4个字节
long:八个字节
float:4个字节。
double:8个字节

概念:内存中的一个存储空间。有自己的名称(变量名)和类型(数据类型)。

       作用:用来不断的存放同一类型的数据,并可以重复使用。

       定义变量的格式:数据类型 变量名 =初始化值;


6)算术运算符:

注意:进行取模运算时,如果有负数,运算结果取决于运算左边有没有负数。
         字符串数据和任何数据使用 +都是相连接,最终都会变成字符串。

7).逻辑运算符:

& 与
|   或
^两边不一样为真,一样为假。
! 非
&& 如果左边为假时右边不运算
|| 如果左边为真是右边不运算
对二进制进行取反。
8).位运算符:

<< 左移 后补数据最高位值 *2的倍数
>>右移 后补数据最高位值 除以2的倍数
>>>> 无符号移位
& 与
|  或
^ 异或
~取反
一个数异或同一个数两次结果还是那个数
数据互换:n=n^m;
                m =n^m;
                n =n^m;

10)转义字符:

概念:通过 \ 来转变后面字母或符号的含义。
    常用转义字符:
        \b:退格  
        \n:换行
        \t:制表符,相当于tab键
        \r:回车
        \\:表示反斜杠
        \':表示单引号
        \":表示双引号
 
11)。三目运算符:表达式一?取值一:取值二;
    格式:
                (条件表达式)?表达式1:表达式2;
12).选择结构:

if(){}else{}
if(){}
if(){}else if(){}
注:if只要一个满足就结束。

13)分支:

switch(表达式)
   case 取值1:
   执行语句;
   break;
   case 取值2:
   执行语句;
   break;
   …………
   default:
   执行语句;
   break;
特点:表达式只接收四种值,int, short,byte,char
case 是没有顺序的,default最后执行
没有到break 或者大括号不停止。



public class SwitchTest{         public static void main(String[] args){                   int month =Integer.parseInt(args[0]);                   // 接收键盘收入并把它转换成整型                   switch (month) {                            case 1:                            case 2:                            case 3:                                     System.out.println("spring");                                     break;                            case 4:                            case 5:                            case 6:                                     System.out.println("summer");                                     break;                            case 7:                            case 8:                            case 9:                                                            System.out.println("autom");                                     break;                            case 10:                            case 11:                            case 12:                                     System.out.println("winter");                                     break;                            default:                            System.out.println("your keyword is invaild");                   }                }}

14)循环结构
while()
{
}


do{
}while();

for() {

}

do while 至少会执行一次语句,
变量有自己的作用域,对于for 来讲,如果变量定义在循环内,则结束后,该变量会在内存中释放。

/*requirement: print a picture as follow:***********method: two for statement , one two control the line, one to control the ammount of * in each line.*/public class TestPrint {public static void main(String[] args) {for(int i = 1;i < 5;i++) {for(int j = 0;j < i;j++){System.out.print("*");//控制打印*的个数}System.out.print("\n");//换行}}}

Compiling TestPrint.java.......  
-----------OUTPUT-----------  
*
**
***
****
[Finished in 11.2s]


15).函数(方法)

格式:
修饰符 返回值类型 方法名(参数类型 形式参数1,参数类型 形式参数1)
 执行语句;
 return 返回值;
 return:用于结束方法,返回一个值给调用者。
方法中只能调用方法,不能再定义方法。

方法重载:
在同一个类中,允许存在一个以上的同名方法,只要他们的参数个数或者参数类型不同即可。
参数顺序不一样也是重载, 重载和返回值类型无关。

重写与重载的区别

重写(override) 是重写了一个方法,以实现不同的功能。一般是用于子类在继承父类时,重写(重新实现)父类的中的方法。
重写的规则:
1 重写方法的参数列表必须完全与被重写的方法的相同,否则不能称其为重写而是重载
2 重写方法的访问修饰符一定要大于被重写方法的访问修饰符
3 重写的方法的返回值必须和被重写的方法的返回一致
4 重写的方法所跑出的一场必须和被重写方法的抛出异常一致,或者是其子类
5 被重写的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行重写

6 静态方法不能被重写为非静态的方法


重载(overload)一般是用于在一个类内实现若干宠重载的方法,这些方法的名称相同而参数形式不同
重载的规则:
1 在使用重载时只能通过相同的方法名、不同的参数形式实现。不同的参数类型可以使不同的参数类型,不同
的参数个数,不同的参数顺序
2 不能通过访问权限、返回类型、抛出的异常进行重载
3 方法的异常类型和数目不会对重载造成影响




打印乘法表
public class Multdemo {public static void main(String agrs[]) {int i,j;for(i = 1;i < 10;i++) { for(j = 1;j <= i;j++ ) { System.out.print(i+"*"+j+"="+(i*j)+"\t"); } System.out.print("\n");}}}

-----------OUTPUT-----------  
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
[Finished in 4.0s]

 

-----------android培训java培训、java学习型技术博客、期待与您交流!------------


      

0 0
原创粉丝点击