流程控制语句:
流程:完成一件事情的顺序
流程控制语句:用来控制程序的执行顺序
分类:
1.顺序结构
2.选择结构
3.循环结构
顺序结构:
从上至下的顺序,按照主函数中的代码顺序执行。
选择结构:
让代码选择性的执行
包含两种:if语句和switch语句
1.if语句的第一种格式:
计算一个布尔表达式的值
如果ture 执行语句体
如果false,没有然后(跳到结束)
格式:
if(布尔表达式){
语句体
}
例子:是男的,打印进男厕所
2.if语句的第二种格式:
计算一个布尔表达式的值
如果ture 执行语句体1
如果false,执行语句体2
格式:
if(布尔表达式){
语句体1
}else{
语句体2
}
例子,是男的打印进男厕所,否则进女厕所
3.if语句的第三种格式:
计算一个布尔表达式/条件判断 第一种格式第二种格式的特点
有多个布尔表达式/条件判断
哪个成立就执行对应的语句体就跳到结束位置
都不成立执行默认的语句体
格式:
if(布尔表达式1){
执行语句体1
}else if (布尔表达式2){
执行语句体2
}else if (布尔表达式3){
执行语句体3
}...
else{
执行默认语句体
}
4.if语句的第二种格式和三元运算符:
if-else 语句体都是对同一个变量进行赋值时,三元运算符相对简单些
例如:比较两个数的大小,大的赋值给第三个数。三元运算符只需要一行语句
5.switch语句:
当我们计算,一个表达式的值,跟一堆的不相同的常量进行比较
匹配上就执行对应的语句体
都不匹配,执行默认的语句体
格式:
byte/short/char/int/String
switch(表达式){
case 常量1:
执行语句体1
break;
case 常量2
执行语句体2
break;
case 常量3
执行语句体3
break;
....
default:
执行默认语句体
break;
}
匹配上哪一个分支 ,就执行它的语句体,跳到结束位置。
6.switch语句的穿透性:
如果你省略了标准格式中的break,就会发生穿透性
直接执行分支的语句体,不作匹配,直到结束
当多个分支需要执行相同的语句体时,使用穿透性可以简化代码
如果某一个匹配的值没有写break语句,那么他的下一个匹配项不会做匹配直接执行,知道遇到先一个带有break的匹配项执行完再跳转到switch语句结尾,或者此匹配项是最后一个,执行完直接结束
循环结构:
让相同的代码被重复执行,指定重复的次数
包含三个 语句:for、while、do-while
1.for语句:
格式
for( ①初始化语句; ②循环条件; ④步进表达式 ){
//被重复执行的代码 -③循环体
}
执行流程:先执行初始化语句(循环过程中只执行一次)---->判断是否满足循环条件(满足)---->执行循环体语句--->执行步
进表达式---->接着判断是否满足循环条件(满足)---->循环体------>执行步进表达式......
循环流程就是①②③④->②③④->②③④->②③④->②③④->。。。当②值为false(也就是不满足循环条件时),跳到结束位置
2.while语句:
格式
①初始化语句
while(②循环条件){
④循环体
③步进语句
}
执行流程:先执行初始化语句(循环过程中只执行一次)---->判断是否满足循环条件(满足)---->执行循环体语句--->执行步
进表达式---->接着判断是否满足循环条件(满足)---->循环体------>执行步进表达式......
循环流程就是①②③④->②③④->②③④->②③④->②③④->。。。当②值为false(也就是不满足循环条件时),跳到结束位置
3.do-while语句:
格式
①初始化语句
do{
③循环体
④步进
;(这里有分号)
执行流程:先执行初始化语句--->执行循环体---->执行步进语句--->判断循环条件.....直到条件不满足退出
三种循环总结:
for最常用 计数器有明确的范围1-100
while比较常用 IO流
do-while不是很常用 必须执行一次循环体
区别:
1,do--while 无论循环条件是否满足至少执行一遍
2,除了for其他循环的计数器,在循环结束时还能使用
break 语句
1,在switch语句中使用,跳到结束位置
2,在三种循环中也可以使用,立刻马上,跳到循环的结束位置
格式
break;
continue语句
只能在循环中使用
立刻马上跳过本次循环,可以继续下一次
格式:continue;
死循环
不能自己结束的循环,就是死循环
常见的几种形式
1,for
2.while
3.do-while
死循环的出现情况:
1。程序员写循环没有步进
2。程序设计的需要
3。死循环可以退出 写上一个条件,里面写上一个break;
嵌套循环
一个循环(外层循环)里面可以包含另一个循环(内层循环)
例子
for( ... ){
for(...){
}
}
当发现几个循环代码相同时,我们可以用嵌套循环来简化代码(如打印长方形)
嵌套号可以用在if语句当中