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. 输出数组元素:几维数组就使用几层循环。