流程控制
顺序结构
/顺序执行,根据编写的顺序,从上到下运行
判断语句
1 单if语句
格式:
if(关系表达式){
语句体;
}
执行流程
- 首先判断关系表达式看其结果是true还是false
- 如果是true就执行语句体
- 如果是false就不执行语句体
2 if else 语句
格式:
if(关系表达式){
语句体1;
}else{
语句题2;
}
执行流程
- 首先判断关系表达式看其结果是true还是false
- 如果是true就执行语句体1
- 如果是false就执行语句体2
3 if else if else 语句
格式:
if (判断条件1) {
执行语句1;
} else if (判断条件2) {
执行语句2;
}
…
}else if (判断条件n)
{ 执行语句n;
} else {
执行语句n+1;
}
执行流程
- 首先判断关系表达式1看其结果是true还是false
- 如果是true就执行语句体1
- 如果是false就继续判断关系表达式2看其结果是true还是false 如果是true就执行语句体2
- 如果是false就继续判断关系表达式…看其结果是true还是false
- …
- 如果没有任何关系表达式为true,就执行语句体n+1。
使用if语句替换三元运算符
首先使用三元运算符
int max = a > b ? a : b;
// 使用f语句
int max;
if (a > b) {
max = a;
} else {
max = b;
}
选择语句
switch语句
格式
switch(表达式) {
case 常量值1:
语句体1;
break;
case 常量值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
执行流程
- 首先计算出表达式的值
- 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
- 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
switch语句使用的注意事项:
-
多个case后面的数值不可以重复。
-
switch后面小括号当中只能是下列数据类型:
基本数据类型:byte/short/char/int
引用数据类型:String字符串、enum枚举 -
switch语句格式可以很灵活:前后顺序可以颠倒,而且break语句还可以省略。
“匹配哪一个case就从哪一个位置向下执行,直到遇到了break或者整体结束为止。”
循环语句
循环结构的基本组成部分,一般可以分成四部分:
- 初始化语句:在循环开始最初执行,而且只做唯一一次。
- 条件判断:如果成立,则循环继续;如果不成立,则循环退出。
- 循环体:重复要做的事情内容,若干行语句。
- 步进语句:每次循环之后都要进行的扫尾工作,每次循环结束之后都要执行一次。
1 for循环
for循环语句格式:
for(初始化表达式①; 布尔表达式②; 步进表达式④){
循环体③
}
执行流程
- 执行顺序:①②③④>②③④>②③④…②不满足为止。
- ①负责完成循环变量初始化
- ②负责判断是否满足循环条件,不满足则跳出循环
- ③具体执行的语句
- ④循环后,循环条件所涉及变量的变化情况
2 while循环
while循环有一个标准格式,还有一个扩展格式。
标准格式:
while (条件判断) {
循环体
}
扩展格式:
初始化语句;
while (条件判断) {
循环体;
步进语句;
}
3 do while-循环
do-while循环的标准格式:
do {
循环体
} while (条件判断);
扩展格式:
初始化语句
do {
循环体
步进语句
} while (条件判断);
三种循环的区别
- 如果条件判断从来没有满足过,那么for循环和while循环将会执行0次,但是do-while循环会执行至少一次。
- for循环的变量在小括号当中定义,只有循环内部才可以使用。while循环和do-while循环初始化语句本来就在外面,所以出来循环之后还可以继续使用。
循环控制语句
break关键字的用法有常见的两种:
- 可以用在switch语句当中,一旦执行,整个switch语句立刻结束。
- 还可以用在循环语句当中,一旦执行,整个循环语句立刻结束。打断循环。
关于循环的选择,有一个小建议:
凡是次数确定的场景多用for循环;否则多用while循环。
另一种循环控制语句是continue关键字
一旦执行,立刻跳过当前次循环剩余内容,马上开始下一次循环。
死循环
永远停不下来的循环,叫做死循环。
死循环的标准格式:
while (true) {
循环体
}
循环嵌套:是指一个循环的循环体是另一个循环。比如for循环里面还有一个for循环,就是嵌套循环。总共的循环次数=外循环次数*内循环次数