顺序结构:
执行流程:从main方法进入,从上至下,从左至右执行;
分支结构:
if语句:
if语句的第一种格式:
格式:
if(关系表达式){
语句体;
}
执行流程:
1.计算关系表达式的值;
2.若结果为true,执行语句体;
3.若结果为false,执行其他语句;
if语句的第二种格式:
格式:
if(关系表达式){
语句体1;
}else{
语句体2;
}
执行流程:
1.计算关系表达式的值;
2.若结果为true执行语句体1;
3.若结果为false执行语句体2;
if语句的第三种格式:
格式:
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}else if(关系表达式3){
语句体3;
}….
else{
语句体n+1;
}
执行流程:
1.计算关系表达式1的值;
2.若结果为true,执行语句体1;
3.若结果为false,计算关系表达式2的值;
4.若结果为true,执行语句体2;
5.若结果为false,计算关系表达式3的值;
6.若结果为true,执行语句体3;
….
7.若所有的关系表达式结果都为false,执行语句体n+1;
switch语句:开关语句
格式:
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
格式的解释:
表达式:只能使用 byte,short,int,char,字符串,枚举
case:作为匹配的值;
break:跳出switch语句;
default:缺省的,默认的;当所有的值不匹配执行default里面的语句;
执行流程:
1.计算表达式的结果;
2.那表达式的结果和case的值一一比较;
3.若匹配到值,执行该case语句中相应的语句体;
4.若都没有匹配上,执行default里面的语句体;
case穿透:
当case中的语句体下面没有写break的时候,会出现穿透效果
从当前case中的语句体开始执行,直到遇到break和switch的大括号结束switch语句;
循环结构:
for循环:
for循环的格式:
for(初始化语句;判断条件语句;控制条件语句){
循环体语句;
}
for循环的执行流程:
1.执行初始化语句;
2.执行判断条件语句;
若结果为true,执行循环体语句;
若结果为false,结束循环;
3.执行完循环体语句就执行控制条件语句;
4.从第二步骤循环执行;
while循环:
while循环的格式
格式一:
while(判断条件语句){
循环体语句;
}
格式二:
初始化语句;
while(判断条件语句){
循环体语句;
控制条件语句;
}
while循环执行流程:
1.执行初始化语句;
2.执行判断条件语句;
若结果为true,执行循环体语句;
若结果为false,结束循环;
3.执行完循环体语句就执行控制条件语句;
4.从第二步骤循环执行;
do..while循环:
do..while循环的格式:
格式一:
do{
循环体语句;
}while(判断条件语句);
格式二:
初始化语句;
do{
循环体语句;
控制条件语句;
}while(判断条件语句);
执行流程:
1.执行初始化语句;
2.执行循环体语句;
3.执行控制条件语句;
4.执行判断条件语句;
若结果为true,从第二步骤循环执行;
若结果为false,结束循环;
三种循环的却别:
for循环和while循环/do..while循环的区别:
for循环的初始化语句定义的变量在循环之后不能继续使用;
while循环/do..while循环的初始化语句在循环之后还可以继续使用;
do..while循环和for循环/while循环的区别:
do..while循环至少执行一次循环体语句;
三种循环的使用顺序:
优先使用for循环;
其次使用while循环;
最后选择do..while循环;
控制跳转语句:
break:中断,结束,跳出;
1.使用场景:循环内,switch语句中;
2.注意:离开使用环境无意义;
3.break的作用:
用于结束循环使用;
continue:继续;
1.使用场景:循环内;
2.注意:离开使用环境无意义;
3.continue的作用:
用于结束本次循环,继续下一次循环(从下一次循环的控制条件语句开始执行);