1、什么是流程控制语句?
:::tips 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。所以,我们必须清楚每条语句的执行流程。而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能。 :::
1、流程控制语句分类
顺序结构<br /> 分支结构(if, switch)<br /> 循环结构(for, while, do…while)
1、 顺序结构
:::tips 顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。 :::
if语句格式1
格式:
if (关系表达式) {
语句体;
}分支结构之if语句
执行流程:
①首先计算关系表达式的值
②如果关系表达式的值为true就执行语句体
③如果关系表达式的值为false就不执行语句体
④继续执行后面的语句内容
格式:
if (关系表达式) {
语句体1;
} else {
语句体2;
}
执行流程:
①首先计算关系表达式的值
②如果关系表达式的值为true就执行语句体1
③如果关系表达式的值为false就执行语句体2
④继续执行后面的语句内容
格式:
if (关系表达式1) {
语句体1;
} else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
执行流程:
①首先计算关系表达式1的值
②如果值为true就执行语句体1;如果值为false就计算关系表达式2的值
③如果值为true就执行语句体2;如果值为false就计算关系表达式3的值
④…
⑤如果没有任何关系表达式为true,就执行语句体n+1。
2、分支结构
选择结构/分支结构
- if语句
格式1:
if(条件表达式){语句体}
执行流程 :先判断条件表达式的值,如果为true执行 语句体 否则不执行
格式2:
if(条件表达式){语句体1}else{语句体2}
执行流程::先判断条件表达式的值,如果为true执行 语句体1 否则执行语句体2
格式3:
if(条件表达式1){语句体1}else if(条件表达式2){语句体2}else{语句体3}
执行流程: 先判断条件表达式1的值,如果为true执行 语句体1 否则执行判断条件表达式2 如果为true执行 语句体2 否则执行语句体3- switch
格式:
switch(值){
case 值:
语句体1; break;
……………
default:
语句体 n+1;
}
执行流程:获取switch后面小括号的值和case语句后面的值匹配,如果匹配上,执行后面语句体,如果都不匹配执行default后面的语句体n+1
- switch
3、循环结构
循环结构
- for循环
格式:for(初始化语句;条件判断语句;条件控制语句){
循环体语句;
}
执行流程:1.先执行初始化语句 2. 执行条件判断语句 ==> true 执行循环体语句 ==> 条件控制语句 ==> 条件判断语句 直到条件判断语句结果为 false停止循 - while循环
格式:
初始化语句
while(条件判断语句){
循环体语句;
条件控制语句
}
执行流程:1.先执行初始化语句 2. 执行条件判断语句 ==> true 执行循环体语句 ==> 条件控制语句 ==> 条件判断语句 直到条件判断语句结果为 false停止循环 - do-while
格式:
初始化语句
do{
循环体语句;
条件控制语句
}while(条件判断语句);
执行流程:1.先执行初始化语句 2.执行循环体语句 3. 条件控制语句 4. 执行条件判断语句==>true 执行循环体语句 ==> 条件控制语句 ==> 条件判断语句 直到条件判断语句结果为false停止循环- 死循环
- for循环死循环
for(;;){语句体} - while死循环
while(true){语句体} - do-while死循环
do{语句体}while(true)- 三种循环的去区别
- 1.for循环和while do-while 初始化语句 for循环的初始化语句在循环内部出了循环就不能使用,while和do-while在循环的外面,循环结束还可以使用
- 2.for循环和while循环 先判断后执行,do-while先执行一次在判断执行
- 流程跳转控制语句
- break
- continue