流程控制
顺序结构
从上到下从左到右
选择结构
满足条件执行相应的代码
if(boolean表达式){
}else{
}
单选泽|单分支
格式
if(boolean表达式){
语句体;
}
执行流程
1.boolean表达式,得到boolean结果
2.如果结果为true,执行{}中的语句体
3.如果结果为false,直接跳过if结构
双选泽|双分支
格式
if(boolean表达式){
语句体1;
}else{
语句体2;
}
执行流程
1.boolean表达式,得到boolean结果
2.如果结果为true,执行{}中的语句体1
3.如果结果为false,执行else后的语句体2
多选泽|多分支
格式
if(boolean表达式1){
语句体1;
}else if(boolean表达式2){
语句体2;
}else if(boolean表达式3){
语句体3;
}....else{
语句体n;
}
执行流程
1.boolean表达式1,得到boolean结果,如果结果为true,执行{}中的语句体1
2.如果结果为false,执行boolean表达式2,如果结果为true,执行{}中的语句体2
3.如果结果为false,执行boolean表达式3,如果结果为true,执行{}中的语句体3
4.如果以上都不满足,执行else后的语句体n;
注意
一个if..else为一个结构,只能执行一个语句体如果{}中的语句体只有一句,前后的{}可以省略
与三目运算符的区别
1.三目运算符肯定有结果,但是if结构不一定能有结果
2.三目运算符结果只能为值1或值2,if语句体可以存在多条指定语句
3.if结构功能更强大,但是条件运算符结构简单,效率高
switch(){}
格式
switch(条件){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;.
....
default:
语句体n;
break;
}
switch后括号里的条件只能是变量或表达式
变量的数据类型:byte short int char 枚举(jdk1.5) String(jdk1.7)
case跟定值,要与条件的结果判断,条件的结果如果与case后的定值 相等就指定对应的语句体break : 结束当前switch语句,防止case穿透default : 相当于else,可以定义可以不定义default可以在switch语句中的任意位置
循环结构
重复执行一段代码(控制执行次数)
for(;;){}
格式
for(条件初始化;条件判断;条件变化){
重复执行的代码段;
}
条件初始化
声明一个变量 i,并且第一次赋值
条件判断
值为boolean类型的判断结果控制循环的结束
条件变化
i自身值的改变
注意
在循环体语句中可以使用条件变量i
for循环中的条件变量i作用域只在当前循环
如果循环体语句只有一句,前后的{}可以省略
执行流程
1.条件初始化 i=1
2.条件判断:判断是否结果,为false,循环结束,为true,执行本次循环体语句
3.条件变化 i++
4.重复第2步
5.重复第3步
。。。
while(){}
do{}while()
待补充