day5
流程控制语句
一、顺序结构
二、判断语句
1.if 语句
格式:if(关系表达式) {
语句体;
}
执行流程:
首先判断关系表达式看其结果是true还是false,如果是true就执行语句体,如果是false就不执行语句体。
练习
运行结果
2.if–else 判断语句
格式:if (关系表达式) {
语句体1;
} else {
语句体2;
}
执行流程:
首先判断关系表达式看其结果是true还是false, 如果是true就执行语句体1 ,如果是false就执行语句体2。
练习
运行结果
3.if…else if…else 判断语句
格式:if (判断条件1) {
执行语句1;
} else if (判断条件2) {
执行条件2;
}
…
} else if (判断条件n) {
执行语句n;
} else {
执行语句n+1;
}
执行流程:
首先判断关系表达式1看其结果是true还是false, 如果是true就执行语句体1 ,如果是false就继续判断关系表达式2看其结果是true还是false ,如果是true就执行语句体2 ,如果是false就继续判断关系表达式…看其结果是true还是false ,如果没有任何关系表达式为true,就执行语句体n+1。
练习
运行结果
4.if-else语句和三元运算符的互换
代码
运行结果
三、 switch 选择语句
格式:
switch(表达式) {
case 常量1;
break;
case 常量2;
break;
…
default:
语句体n+1;
break;
}
执行流程:
首先计算出表达式的值。
其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束。
代码
运行结果
1.case的穿透性
在switch语句中,如果case的后面不写break,就会出现穿透现象,不会在判断下一个case的值,直接向后运行,直到遇到break,或者整体switch结束。
代码
运行结果
四、循环语句
1.for循环
for(初始化表达式①; 布尔表达式②; 步进表达式④){
循环体③
}
执行流程
•执行顺序:①②③④>②③④>②③④……②不满足为止。
•①负责完成循环变量初始化。
•②负责判断是否满足循环条件,不满足跳出循环。
•③执行的语句。
•④循环后,循环变量所涉及的变量的变化情况。
代码
运行结果
2 .while 循环
格式:
初始化表达式①
while(布尔表达式②){
循环体③
步进表达式④
}
执行流程:
•执行顺序:①②③④>②③④>②③④……②不满足为止。
•①负责完成循环变量初始化。
•②负责判断是否满足循环条件,不满足跳出循环。
•③执行的语句。
•④循环后,循环变量所涉及的变量的变化情况。
代码
运行结果
3. do…while 循环语句
格式:
初始化表达式①
do{
循环体③
步进表达式④
}while(布尔表达式②);
执行流程:
•执行顺序:①②③④>②③④>②③④……②不满足为止。
•①负责完成循环变量初始化。
•②负责判断是否满足循环条件,不满足跳出循环。
•③执行的语句。
•④循环后,循环变量所涉及的变量的变化情况。
代码
运行结果
4.三种循环的区别
(1)如果条件判断从来没有满足过,for循环和while循环执行0次,而do-while会执行1次
(2)for循环的变量在小括号中定义,只有循环体内部才可以使用,while和do-while可以在外部定义。
五、跳出语句
break
使用场景:终止switch或者循环
在选择结构switch语句中
在循环语句中
离开使用场景的存在是没有意义的
代码
运行结果
continue
使用场景:结束本次循环,继续下一次的循环
代码
运行结果
六、判断语句练习
代码
运行结果