选择结构
if控制语句
单分支if结构
语法规则:
if(表达式){
语句
}
表达式是布尔型的表达式,其值为true或者false
单分支if结构的流程图: 双分支if结构的流程图:
双分支if结构
语法规则:
if(表达式){
语句1
}else{
语句2
}
多分支if结构
语法规则:
if(表达式1){
语句1
}else if(表达式2){
语句2
}else{
语句3
}
多分支if结构流程图: Switch语句流程图:
嵌套if控制语句
语法规则:
if(表达式1){
if(表达式2){
语句1
}else(表达式2){
语句2
}
}else{
if(表达式3){
语句3
}else{
语句4
}
}
例如:判断是否是闰年
import java.util.Scanner;
pulic class Main{
public static void main(Sting[] arge){
Scanner input = new Scanner(System.in);
}
}
Switch语句
语法规则:
switch(表达式){
case 常量1:
语句;
break;
case 常量2:
语句;
break;
case 常量3:
语句;
break;
case 常量4:
语句;
break;
......
default :
语句;
break;
}
表达式只允许使用int、byte、short、char、枚举类型和String类型。
switch新特性:
case语句可以简写成case常量 -> {表达式}(如果表达式只有一句,{}可以省略)。
循环结构
一个循环是由四部分构成的,分别是循环变量、循环条件、循环体、改变循环变量的值。
- 循环变量,循环变量用于控制循环次数。
- 循环条件,循环条件用来判断循环是否继续。
- 循环体,循环体是循环条件为true时,要执行的代码段。
- 改变循环变量的值,只有循环变量的值能够改变,循环才有结束的时候,否则是死循环。
while循环结构
语法规则:
循环变量初始化
while(循环条件){
循环体
}
循环条件是一个布尔类型的表达式,它的值为true时执行循环体,它的值为false时终止循环。
while循环流程图:
![image-20230803214325534](../../../Users/hw/Desktop/%E6%B5%81%E7%A8%8B%E5%9B%BE/image-20230802214828301.png)
do-while循环结构
语法规则:
循环变量初始化
do{
循环体
}while(循环条件);
do-while循环流程图:
![image-20230803214836109](../../../Users/hw/Desktop/%E6%B5%81%E7%A8%8B%E5%9B%BE/imgimage-20230803214836109.png)
for循环结构
语法规则:
for(表达式1;表达式2;表达式3){
循环体
}
for循环流程图:
![image-20230803215320194](https://wxwxa.oss-cn-beijing.aliyuncs.com/oss/test/imgimage-20230803215320194.png)
多重循环
多重循环是指在一个循环语句的循环体中再包含循环语句,也称为嵌套循环。被包含的循环语句称为内循环,包含其他循环语句的循环称为外循环。
语法规则:
while(循环条件){
循环语句1
for(;;){
循环语句2
}
}
循环语句的对比
1、使用场景不同:
知道执行次数的时候一般用for,条件循环时一般用while。
2、两种循环在构造死循环时的区别:
while循环里的条件被看成表达式,因此,当用while构造死循环时,里面的TRUE实际上被看成永远为真的表达式,这种情况容易产生混淆,有些工具软件如PC-Lint就会认为出错了,因此构造死循环时,最好使用for(;;)来进行。
3、两种循环在普通循环时的区别:
对一个数组进行循环时,一般来说,如果每轮循环都是在循环处理完后才讲循环变量增加的话,使用for循环比较方便。
如果循环处理的过程中就要将循环变量增加时,则使用while循环比较方便。
还有在使用for循环语句时,如果里面的循环条件很长,可以考虑用while循环进行替代,使代码的排版格式好看一些。
跳转语句
break
break语句可以在循环过程中主动终止循环,跳出循环体,从而继续执行后面的代码。当循环条件不在满足时,break语句立即停止循环,其后的代码会继续执行。因此,使用break语句可以避免程序出现死循环。
continue
continue作用是结束本次循环,即跳过循环体中下面尚未执行的语句,进行下一次是否执行循环的判定,而不终止整个循环的执行。
return
指的是跳出for循环,且不执行for循环之外的语句,直接跳出当前函数,返回return后的值
break和continue的区别
1、break用于跳出一个循环体或者完全结束一个循环,不仅可以结束其所在的循环,还可结束其外层循环。
注意:
(1)只能在循环体内和switch语句体内使用break。
(2)不管是哪种循环,一旦在循环体中遇到break,系统将完全结束循环,开始执行循环之后的代码。
(3)当break出现在循环体中的switch语句体内时,起作用只是跳出该switch语句体,并不能终止循环体的执行。若想强行终止循环体的执行,可以在循环体中,但并不在switch语句中设置break语句,满足某种条件则跳出本层循环体。
2、continue语句的作用是跳过本次循环体中剩下尚未执行的语句,立即进行下一次的循环条件判定,可以理解为只是中止(跳过)本次循环,接着开始下一次循环。
注意:
(1)continue语句并没有使整个循环终止。
(2)continue 只能在循环语句中使用,即只能在 for、while 和 do…while 语句中使用。