4.Java笔记——流程控制语句
1.流程控制语句结构分类
顺序结构 : 从上到下,从左到右-->默认。
选择结构 : 满足条件执行对应的代码,if 区间判断|定值判断,switch 定值判断,能用switch的都能if,能用if不一定能够使用switch。
循环结构 : 让一些代码重复不停的执行多次。
一、 选择结构
2.if 语句
(1)单选泽|单分支
if(条件表达式){
满足条件执行的代码段;
条件表达式 : 必须为一个值为boolean的表达式
执行流程:
1.计算条件表达式
2.如果结果为true,执行{}中的语句体
3.如果结果为false,就直接跳过if结构
(2)双选择或双分支
if(条件表达式){
满足条件执行的代码段;
}else{
不满足条件执行的代码段;
}
注意: 双选择一定能够执行语句体|一定能够得到结果
(3)多选择|多分支
if(条件表达式1){
满足条件表达式1执行的语句体1;
}else if(条件表达式2){
满足条件表达式2执行的语句体2;
}else if(条件表达式3){
满足条件表达式3执行的语句体3;
}.....
else{ -->
如果以上都不满足执行得到语句体n;
}
注意: 当{}中的语句体只有一句,前后的{}可以省略
3.switch 定值判断
能用if的不一定能用switch,能用switch都能使用if
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
default:
语句体n;
break;
表达式 : 一般为一个变量,可以为一个表达式,常量都可以,结果数据类型要求: byte,short,int,char,枚举类型(jdk5),String字符串(jdk7)
case : 后面接一个定值,拿到表达式的结果与case后面的定值进行判断是否相等,相等执行对应的语句体,不相等,继续向下判断
从上到下一次判断
break : 终止当前的switch语句
如果没有break会发生case穿透 : 从当前满足条件的语句体开始执行,一直向下 穿透,无论下面的case是否满足条件都不再判断,直接执行语句体,直到遇到下一个break或者switch语句的结束而结束。
default : 与else相同
以上的case都不满足,name就执行default中的内容位置可以在switch语句中的任意位置,一般定义在switch语句的最后,如果切换位置,注意break定义,一对{}中的内容就要缩进一个tab键
循环结构:
让一些重复执行多次
二、循环结构
1、循环结构的基本组成部分
一般可以分为四部分:
-
条件初始化:在循环开始最初执行,而且只做唯一一次。
-
条件判断,如果成立,则循环继续;如果不成立,则循环退出。
-
.不满足条件结束循环,满足条件执行
-
,执行循环体语句步进语句:每次循环之后都要进行的扫尾工作,每次循环结束之后都要执行一次。
for循环 次数循环,while循环 条件循环,do..while循环 都可以互相转换
2、循环语句for
for循环
for(条件初始化;条件判断;条件变化 )
重复执行的语句体
条件初始化 : 声明一个变量i并且第一次赋值 -->i条件
条件判断 : 对变量的i判断,决定循环是否结束
条件变化|迭代因子 : 变量i自身值的改变
for循环语句格式
for(初始化表达式①; 布尔表达式②; 步进表达式③){
循环体④
}
执行顺序:①②③④>②③④>②③④…②不满足为止
-
负责完成循环变量初始化
-
负责判断是否满足循环条件,不满足则跳出循环
-
具体执行语句
-
循环后,循环条件所涉及变量的变化情况
for循环的变量条件i只属于当前 for循环,只能在循环中使用
for可以通过条件的变化控制循环的次数,循环体中可以使用条件的值,条件变量可以按照想要的逻辑进行变化,实现需求
考虑: 是否存在一些代码重复执行,如果是,规律可循,可以选择使用循环结构
如果循环体语句只有一句,前后的{}可以省略
for循环练习
注意: for循环中可以嵌套选择语句结构
3、循环语句while
while循环语句格式:
初始化表达式①
while(条件判断②){
循环体③
步进表达式④
}
执行流程
执行顺序:①②③④>②③④…②不满足为止
-
负责完成变量初始化
-
负责判断是否满足循环条件
③具体执行的语句
-
循环后,循环变量的变化情况
注意:能够使用for循环的都能使用while,可以互相转换,确定循环次数|变量变化区间–>推荐使用for,条件不需要我们声明,变化也不需要我们声明 -> 推荐使用while。
4、do…while与while之间的区别
do…while 无论是否满足条件都至少执行一次
while: 先判断,满足才执行,不满足结束
do…while:先执行,后判断,判断满足条件继续下一次执行,不满足条件结束
格式
-
条件初始化;
do{
-
语句体;
-
条件变化;
}while(⑤条件判断);
5、死循环
无法通过自身条件决定循环的结束,无线循环执行下去。
注意: 以后在使用 循环的时候,应该避免死循环的出现在控制台中强制终止程序的执行ctrl+c
6、break 与 continue 关键字的区别
break:
作用: 结束,终止
应用场景: switch语句,循环中,结束最内层循环
continue:
作用: 结束本次循环,直接进入到下一次循环中
应用场景: 循环中
7、嵌套循环
(1)嵌套循环,是指一个循环体是另一个循环。比如for循环里面还有一个循环,就是嵌套循环。总共的循环次数=外循环次数*内循环次数
嵌套循环格式:
for(初始化表达式①;循环条件②;步进表达式⑦){
for(初始化表达式③;循环条件④;步进表达式⑥){
执行语句⑤;
}
}
嵌套循环执行流程:
123456>456>723456>456
外层循环执行一次,内层循环执行一轮(从开始到结束)
(2)循环嵌套下的break与continue使用
默认针对: 多层循环嵌套下,默认针对内层循环
带标签的break|continue:
在循环开始位置定义标签 标签名:
使用break|continue的时候,指定针对哪一层循环进行操作 break 标签名;