概念:程序从两条或多条路径中选择一条去执行,这种结构称为分支结构
1. if结构
特点:
① 条件表达式的形式可以为:
boolean的变量
boolean变量的赋值
关系表达式
逻辑表达式
(只要最终结果为boolean类型即可)
② 大括号中的执行语句,可以为0条或任意多条,而且可以是任意的打印、变量、运算、if结构等
③ 当大括号中的执行语句只有一条的时候,可以省略大括号!
1.1 单分支
if(条件){ //条件成立要执行的语句块 }
1.2 双分支
if(条件){ //条件成立要执行的语句块 }else{ //条件不成立要执行的语句块 }
1.3 多重分支
if(条件){ //条件成立要执行的语句块 }else if(条件2){ }else if(条件3){ }.... else{ //条件不成立要执行的语句块 }
注意事项:
1、从上往下依次判断if条件的,如果某个条件成立,则下面的条件将不再执行
2、else if块的顺序最好不要调换,因为可能影响效果
3、else块可以省略,也可能影响效果
4、区分开多重if结构和多个if 结构
1.4 嵌套分支
if(){ if(){ }else{ } }
2. switch结构
2.1 语法
switch(变量或表达式){ case 常量1:语句1;break; case 常量2:语句2;break; .... default:语句n;break; }
2.2 执行顺序
先判断出switch括号中的变量或表达式的值,然后依次判断case的常量值是否与之相等
如果相等,则执行对应case的语句块,直到遇见break为止
如果没有相等的,则执行default语句块,直到遇见break为止
2.3 语法注事项
1、变量或表达式的类型:byte、short、int、枚举、String、char
2、case后只能是常量
3、case后的常量不能重复
4、break从语法上可以省略,但影响效果
5、default从语法上可以省略而且可以调换顺序,但影响效果
- 好处
1、提高代码的重用性,代码更加简洁
2、提高代码的维护性,使代码扩展性更强!
- 分类
while
do while
for
- 四要素
循环变量初始化
循环条件:满足该条件,将进入循环体执行操作
循环操作:反复执行的代码
循环变量更新
2.1 while循环结构
语法:
循环变量初始化 ① while(循环条件){ ② 循环操作 ③ 循环变量更新 ④ }
执行顺序:
①②③④②——直到②不成立为止
2.2 do while循环结构
语法:
循环变量初始化 // ① do{ 循环操作 // ③ 循环变量更新 // ④ }while(循环条件); // ②
执行顺序:
①③④②③④——直到②不成立为止
2.3 for循环结构
for(循环变量初始化;循环条件;循环变量更新){ 循环操作 }
注意事项:
1、三个表达式从语法上讲,可以省略,但有可能导致死循环
2、两个分号必不可少
3、表达式1可以有多条初始化语句隔开,中间必须用逗号隔开
表达式3可以有多条更新语句组成,中间必须用逗号隔开
表达式2 可以有多个条件组成,中间用逻辑运算符隔开
三种结构不同点:
1、语法不同
2、执行顺序不同
while和for 先判断,后执行
do while 先执行,后判断
3、执行效率不同
do while最高
while和for一样,其次
4、应用场景不同
如果知道循环次数,优先考虑使用for解决
如果不知道循环次数,
先判断,则考虑使用while
先执行,则考虑使用do while
概念:改变正常的程序控制流的结构
分类:
break 中断、跳出
continue 继续
return 返回
3.1 break结构
功能:一般用于循环或switch中,作用是跳出所在的循环或switch结构!
语法:
switch(){ case 常量:语句;break; }
2.循环中
while(){ if(){ break; } }