Java记忆(必背)【纯属个人总结】

 

说明:此内容适合Java初学者(非0点起步)

作用:帮助记忆与回想基础知识

1.         简洁表达式:

+=、-=、*=、/=、%=;例如:a+=b 同 a=a+b;

b++、++b、b--、--b; 例如:a*=b++ 同 a=a*b;b++

                          a*=++b 同 b++;a=a*b

2.         程序的结构:顺序结构、选择结构、循环结构。

顺序结构:从头到尾依次执行。

选择结构:条件为true执行语句1,条件为false执行语句2

循环结构:只要符合条件一直执行语句1,否则执行语句2

3.         选择结构:if、if…else、switch

if:if(判断条件){语句1;语句2;…语句n}

   如果条件为true执行语句体,否则继续执行后面的语句

if…else:if(判断条件){语句主体1}else{语句主体2}

   如果条件为true执行语句主体1,否则执行语句主体2,然后继续执行后面的语句

?::三目运算符:变量 = 条件判断 ? 表达式1:表达式2

   如果条件为true把表达式1的值赋值给变量,否则把表达式2的值赋值给变量

if…else if…else:if(判断条件1){语句主体1}else if(判断条件2){语句主体2}…else{语句主体3}

   如果判断条件1为true则执行语句主体1,否则执行判断条件2,如果判断条件2为true则执行语句主体2,否则执行语句主体3

switch:switch(表达式){case 选择值1:语句主体1;

break;

case 选择值2:语句主体2;

break;

……

case 选择值 n:语句主体n;

break;

default:语句主体;

}

       表达式的值符合选择值几就执行相应的语句主体,如果都不匹配则执行default所包含的语句主体,之后执行switch循环后面的语句。default可有可无。

            如果没有break语句则从符合条件的语句主体开始依次执行知道遇见break语句为止

            注意:表达式的值只能为数字、字符或枚举

4.         循环结构:while、do…while、for

while:while(循环条件判断){语句1;语句2;…语句n;循环条件更改;}

      如果循环条件为true则依次执行循环体内的语句,否则不执行。

循环条件更改后继续执行循环条件判断,如果为true则继续执行,否则不执行

       do…while:do{语句1;语句2;…语句n;循环条件更改}while(循环条件判断);

          首先执行do的循环主体,然后执行while循环条件判断,如果条件为true则继续执行do的循环主体,否则终止循环。

                  注意:do…while循环至少都会执行一次循环主体。

    for:for(赋值初值;判断条件;赋值增减量(循环条件改变)){循环主体}

                  首先执行 赋值初值,继续执行 判断条件,如果判断条件为true则执行循环主体,否则不执行。当判断条件为true时,执行完循环主体之后继续执行赋值增减量,然后继续执行判断条件,如果判断条件为true则继续执行循环主体,否则不执行。以此类推。

5.         循环的嵌套:for循环可以嵌套for循环;先执行外层循环,后执行内层循环,内层循                                    环执行完毕后继续执行外层循环。

6.         循环中的中断:break语句、continue语句、return语句

break语句:作用是中断循环,可以放在循环主体的任意位置。

Continue语句:作用是跳出本次继续执行下次循环,可以放在循环主体的任意位置。

return语句:作用是结束方法,可以放在循环主体的任意位置,也可以放在方法的最后。

7.         局部变量:在方法中或循环语句中定义的变量属于局部变量,所谓的局部变量是指此变量只能在方法中或循环语句中使用,而在方法或循环语句之外无法使用。

8.         一维数组:要使用Java的数字,必须经过声明数组和分配内存给数组两个步骤。

9.         声明一维数组并分配内存:

数据类型 数组名[] = null;或 数据类型[] 数组名 = null; null是引用数据类型默认值。

数组名 =  new 数据类型[长度] ;用new关键字分配内存空间。

例如:int score[] = new int[3];其元素个数为3,长度为3。

常见的数据类型有整型、浮点型与字符型等。

数组名是用来统一这组相同数据类型的元素的名称,其命名规则和变量相同。

10.     数组中元素的表示方法:score[0]代表第一个元素,数组下标是从0开始的。

11.     数组的静态初始化:数据类型 数组名[] = {初值0,初值1,…,初值n}

例如:int score[] = {1,2,3,4,5,6}  其长度是6 score[3]的值是4

12.     二维数组:二维数组声明的方式和一维数组类似,内存分配也要使用new关键字完成。

格式:数据类型 数组名[][];

      数组名 = new 数据类型[行的个数][列的个数];

例如:int score[][];

      Score = new int[3][4]; 可保存元素个数3*4=12个,共占内存4*12=48个字节

13.     二维数组静态初始化格式:数据类型 数组名[][]={{第0行初值},…,{第n行初值}};

例如:int score[3][4] = {{1,2,3,4},{2,3,4,5},{3,4,5,6}};

      int score[3][4] = {{1,2,{2,3,4},{3}};

      int score[][] = {{1},{2,3,4},{3,4,5,6,7},{2,6}};

14.     注意:用户不许要定义二维数组的长度,二维数组赋初值时不必全赋值,默认为0

大括号内还有几个大括号,没组大括号内的初值会依次制定给数组的第0,1,…n

15.     数组应用范例:

a)         求出数组中的最大值和最小值

public class Deno1 {
        public static void main(String[] args) {
           int max = 0;
           int min = 0;
           int score[]={5,6,11,32,14,1,3,100};
           max=min=score[0];
           for(int i=0;i<score.length;i++){
               if(score[i]>max){
                  max=score[i];
               }
               if(score[i]<min){
                  min=score[i];
               }
           }
       System.out.println(max);
       System.out.println(min);
        }
}

b)        对整型数组按照由小到达的顺序进行排列

public class Demo2 {
           public static void main(String[] args) {
              int score[]={5,6,11,32,14,1,3,100};
              for(int i=1;i<score.length;i++){
                   for(int j=0;j<score.length;j++){
                      if(score[i]<score[j]){
                          int temp = score[i];
                          score[i] = score[j];
                          score[j] = temp;
                          }
                   }
               }
               for(int i=0;i<score.length;i++){
                   System.out.print(score[i]+"\t");
               }
           }
}

16.     多维数组:声明方法和二维数组一样

例如:

int score[][][]={{{1,2},{3,4,5},{6}},{{1},{2,3},{4}},{{3},{2},{1}}};

17.     以上是三维数组,几维就写几个[],4个就是四维数组,N个就是N维数组。

18.     输出数组元素:几维数组就使用几层循环。