结构分类
顺序结构
是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。
写在前面的先执行,写在后面的后执行。
选择结构
选择结构也被称为分支结构。
选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码。
Java语言提供了两种选择结构语句
- if语句
- switch语句
循环结构
循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。
Java提供了三种循环的语法格式:for循环、while循环、dowhile循环,其中for循环最为常用。
单分支结构
格式:
if(关系表达式) {
语句体
}
执行流程
- 首先判断关系表达式看其结果是true还是false
- 如果是true就执行语句体
- 如果是false就不执行语句体
流程图
双分支结构
格式:
if(关系表达式) {
语句体1;
}else {
语句体2;
}
执行流程
- 首先判断关系表达式看其结果是true还是false
- 如果是true就执行语句体1
- 如果是false就执行语句体2
流程图
switch多分支结构
格式
switch(表达式) {
case 目标值1:
语句体1
break;
case 目标值2:
语句体2
break;
…
case 目标值n:
语句体n
break;
default:
语句体n+1;
break;
}
格式解释
- switch表示这是switch语句
表达式的取值:byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是String - case后面跟的是要和表达式进行比较的值
- 语句体部分可以是一条或多条语句
- break表示中断,结束的意思,可以结束switch语句
- default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
执行流程
- 首先计算出表达式的值
- 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
- 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
流程图
for循环
格式
for(初始化表达式①;布尔表达式②;步进表达式④){
循环体③
}
执行流程
执行顺序: ①②③④>②③④>②③④… ②不满足为止。
①负责完成循环变量初始化
②负责判断是否满足循环条件,不满足则跳出循环
③具体执行的语句
④循环后,循环条件所涉及变量的变化情况
流程图
while循环
格式
基本格式
while(布尔表达式) {
循环体;
}
扩展格式
初始化表达式①
while(布尔表达式②){
循环体③
步进表达式④
}
执行流程
执行顺序: ①②③④>②③④>②③④… ②不满足为止。
①负责完成循环变量初始化。
②负责判断是否满足循环条件,不满足则跳出循环。
③具体执行的语句。
④循环后,循环变量的变化情况。
流程图
do…while循环
格式
基本格式
do {
循环体语句;
}while(布尔表达式);
扩展格式
初始化表达式①
do{
循环体③
步进表达式④
}while(布尔表达式②);
执行流程
执行顺序: ①③④>②③④>②③④… ②不满足为止。
①负责完成循环变量初始化。
②负责判断是否满足循环条件,不满足则跳出循环。
③具体执行的语句
④循环后,循环变量的变化情况
流程图
break
break的使用场景:
- 在选择结构switch语句中
- 在循环语句中
break的作用: 跳出单层循环
continue
continue的使用场景: 适用于任何循环语句中
continue的作用: continue 结束本次循环,继续下一次循环
return
return的作用
- 返回方法指定类型的值(前提是方法的返回值类型不是void)。
- 方法的结束,它会导致当前的方法退出。