Bootstrap

JAVA基础语法

一、JAVA 的语法格式

  [修饰符] class 类名{

     程序代码

  }

  说明:

    1.每条语句以;结束。

    2.严格区分大小写。

    3.一个程序可以定义多个类,但只能也必须有一个主类。

 二、注释

  1.单行注释://  快捷键ctrl+/ 

  2.多行注释:/* */  快捷键ctrl+shift+/ ctrl+shift+\ 取消注释

  3.文档注释:/** */  用于为类,属性,方法进行功能注释,在其他地方使用时可以提示出来

 三、关键字

  关键字就是被赋予了专门的意义,用来修饰包,类,变量,方法,接口等,有专门用途的字符串。

  关键字全为小写。

  在IDE中,关键字会显示出可以和别的代码的不同的颜色。

  

 四、保留字

  保留字就是JAVA 中尚未使用但以后可能会用作关键字的单词,在编写程序中应尽量避免使用,如goto,const。

 五、标识符

  标识符就是程序中用来标记名称(如包名、类名、方法名、参数名、变量名等)的符号。

  说明:

    1.标识符由26个大小写英文字母,数字0-9,下划线"_"和美元符号$组成。

    2.标识符不允许由数字开头,也不允许有空格。

    3.标识符不能使用关键字、保留字。

    4.包名全部小写。

    5.类名和接口名每个单词的首字母都大写。

    6.常量全部大写,若有多个单词,单次间以下划线"_"连接。

    7.变量名,方法名第一个单词小写,从第二个单词开始首字母大写。

    8.起名时,要尽量做到“见名知意”。

  六、JAVA 中的变量

  变量是程序中最基本的存储单元,程序执行中数值是可变的。本质上,变量其实是内存中的一小块区域,使用变量名来访问这块区域,因此,每一个变量使用前必须要先申请(声明), 然后必须进行赋值(填充内容),才能使用.

 变量是通过使用变量名来访问这块区域的

  数据类型 [修饰符] 变量名=变量值;

  JAVA 中的变量必须先声明再赋值。

  七、JAVA 中的数据类型

    JAVA是强类型语言,程序中所有的数 据,都需要明确数据类型, 不同的类型存储空间不同,运算规则不同。

  整数类型

  Java语言的整型常量默认为int型,声明long型常量时后加‘ l ’或‘ L ’ 。

  浮点类型

  Java 浮点型常量默认为 double 型,声明一个常量为 float 型时在数字后面加’ f ‘ 或’ F ‘。

   布尔类型适于逻辑运算,一般用于程序流程控制 。JAVA中布尔型变量只能取值true和false,不可       以0或非 0 的整数替代false和true。

  字符类型

    char型数据表示单个字符,占2个字节,使用时字符需要用单引号括起来。

八、基本数据类型转换

  首先布尔类型不可以参与类型转换

  默认转换:容量小的数据类型到容量大的数据类型

  强制转换:char,short,byte->int->long->float->double

                   char,short,byte类型再参与运算时会自动转换为int 类型

                   可能会出现数据溢出,精度降低等问题

多种数据类型参与运算时,会自动将容量小的数据类型转换到容量大的数据类型。

九、运算符

算数运算符:  +  -  *  /  %  ++  --

比较运算符:  ==  !=  >  <  >=  <=

赋值运算符:  +=  -=  *=  /=  %= 

逻辑运算符:  &  !  | &&  ||  ^

条件运算符:  (条件表达式)?表达式一:表达式二

位运算符:  <<  >>  >>>  &  |  ^

十、运算顺序

十一、控制台输入语句

  JAVA中用java.util包中的Scanner类来进行控制台输入

  用法:Scanner 对象名=new Scanner(System.in);

            int 变量名=sc.nextInt();

            String 变量名=sc.next();

            char等其他数据类型同理

十二、流程控制语句

  1.if(条件){语句块}

  2.if(条件){语句块}

     else{语句块}

  3.if(条件){语句块}

        else if(条件){语句块}

        else if(条件){语句块}

         ......

  4.switch(item){

      case 常量1:语句块

             break;

      case 常量2:语句块

             break;

     ......

      case 常量n:语句块

             break;

     default:默认语句块

  }

  item可以是byte,short,int,char,枚举,jdk1.7后还可以是String类型

十三、循环语句

  while(条件){语句块}

  do{语句块}while(条件)

  for(循环初始条件;循环终止条件;变量更新){语句块}

  终止循环:break:跳出整个循环

                    continue:跳出当前循环

                    标签:在多层循环开始之前定义一个标签,最后在需要终止循环的地方写上"break 标                                签"即可。

十四、方法

[访问权限修饰符 修饰符…] [返回值类型] 方法名(形式参数类型 参数名){

     Java语句;… … …

     [return 返回值;]
}
返回值可以有也可以没有,没有为void,也可以直接写return;

十五、数组

1.数组是相同数据元素的集合。

   数组本身是引用数据类型,除了引用数据类型外,数组还可以存储基本数据类型。

 2.数组的创建

动态创建数组:可以用for循环为数组赋值:

  数据类型[]  数组名=new 数据类型[数组长度];

静态创建数组:

  数据类型[]  数组名=new 数据类型[] {数组元素};

3.数组的长度

  数组名.length

4.数组的输出

  需要导入java.util包

  eg:System.out.println(arr.toString(数组名));

十六、数组的访问与迭代

  1.访问:

    数组名 [索引]

    数组索引从0开始,索引最大值与数组长度差1

    索引的数据类型是整形

    数组的内部空间是连续的,所以有时候会出现创建数组失败

  2.迭代

    (1)for循环

    (2)foreach

        for(数组元素类型 临时变量名:数组名){

              System.out.println(临时变量名);

          }

十七、数组的排序

  1.冒泡排序

     就是将数组从前到后或从后到前两两相比较

     for(int i=0;i<array.length;i++){

        for(int j=0;j++;j<array.length-1-i;j++){

               if(array[j]>array[j+1]){

                      int temp = array[j];

                      array[j] = array[j+1];

                      array[j+1] = temp;

                    }

           }

     }

  2.选择排序

    每次选出一个最小或最大的值

      for(int i=0;i<array.length;i++){

         for(int j=i+1;j++;j<i;j++){

               if(array[i]>array[j]){

                      temp=a[i];

                      a[i]=a[j];

                      a[j]=temp;

                    }

           }

       }

十八、二维数组

  二维数组就是数组的数组,它的每一个元素都是一个一维数组。

  1.声明

    int [] [] 数组名=new int [二维数组长] [二维数组里每个一维数组的长度]  (1)

                          =new int [二维数组长] []                                                    (2)

                          =new int [] [] { {值},{值},...{值} }                                          (3)

    (1)的初始值都为0

    (2)值创建了二维数组,一维数组都为null

  2.访问

    数组名[] [] =

  3.遍历

    需要用双层for循环

    for(int i=0;i<arr.length;i++){

      for(int j=0;j<arr[i].length;j++){

           程序块

          }

  }

若有Arrays类的toString()方法,输出的不是元素值而是地址。

;