顺序结构
瞬狙结构语句是Java程序默认的执行流程,按照代码的先后顺序,从上到下依次执行。
分支结构
if判断
格式1
if(关系表达式){
语句内容;
}
格式2
if(关系表达式){
语句1;
}else{
语句2;
}
格式3
if(关系表达式1){
语句1;
}else if(关系表达式2){
语句2;
}else if(关系表达式3){
语句3;
}
....
else{
语句n+1;
}
switch选择
当表达式等于对应的值就执行对应的语句。
格式
switch(表达式){
case 值1:
语句1;
break;
case 值2:
语句2;
break;
...
defalut:
默认语句;
break;
}
Switch的其他知识点:
-
default可以省略,语法不会报错
-
default可以写在任意位置,没必要写道最下方,效果和在最下方一样的。
-
case穿透:
如果平时在写switch语句没写break就会导致case穿透。
switch程序执行流程:首先还是拿着小括号中表达式的值和下面每一个case进行匹配,如果匹配上了就会执行对应的语句体。
如果此时遇见了break,就会结束整个switch语句,如果没有发现break,那么程序会继续执行下一个case的语句体,一直到
遇到break或者右大括号为止。
-
jdk12中switch的新特性:
//在jdk12中switch可以用另外一种方便的写法 int number=1; switch(number){ case 1->{ System.out.println("一"); } case 2->{ System.out.println("二"); } default ->{ System.out.println("空"); } }
三目运算
就是if语句的一种极简写法
格式
//if语句取最小值
if(a<b){
min=a;
}else{
min=b;
}
//改成三目运算
a<b?min=a:min=b;
循环结构
for循环
格式
for(初始化语句;条件判断语句;条件控制语句){
循环语句;
}
while循环
格式
while(循环条件){
循环语句;
条件控制语句;/循环什么时候停止的语句条件。
}
do while循环
格式
初始化语句;
do{
循环条件语句;
条件控制语句;
}while(条件判断语句);
do while和while的区别是do while会先执行一次再判断。
无限循环的几种写法
for(;;){
循环语句;
}
while(true){
循环语句
}
do{
循环语句;
}while(true);
循环的俩个关键字break和continue
-
break关键字
当循环读取到break关键字的时候就结束整个循环。
-
continue关键字
当循环读取到continue关键是的时候,就会跳过这一次循环直接进入下一次循环。
循环的注意要点
- 求和的变量不能定义在循环中,因为变量值在所属的大括号中有效。
- 如果以我们把变量定义在循环中,那么当前变量只能在本次循环中有效。
- for 和 while的区别
- for 循环中,控制循环的变量,因为归属于for循环的语法结构中,在for循环结束后,就无法访问到了。
- for循环中:知道循环的次数或循环的范围。
- while循环中,控制循环的变量,对于while循环来说不归属于其语法结构,在while循环结束后,该变量还能继续使用。
- while循环中:不知道循环的次数或循环的范围,但是知道循环结束的条件。