流程控制语句小总结
顺序结构
是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的,就是从上到下,依次执行,所以不多做总结。
选择结构(if语句)
if语句的格式1
if(比较表达式或者是boolean类型的值) {
语句体;
}
执行流程:
先计算比较表达式的值,看其返回值是true还是false。
如果是true,就执行语句体;
如果是false,就不执行语句体;
if语句的格式2
if(比较表达式) {
语句体1;
}else {
语句体2;
}
注意事项:else后面是没有比较表达式的,只有if后面有。
执行流程:
首先计算比较表达式的值,看其返回值是true还是false。
如果是true,就执行语句体1;
如果是false,就执行语句体2;
if语句的格式3
if(比较表达式1) {
语句体1;
}else if(比较表达式2) {
语句体2;
}else if(比较表达式3) {
语句体3;
}
...
else {
语句体n+1;
}
执行流程:
首先计算比较表达式1看其返回值是true还是false,
如果是true,就执行语句体1,if语句结束。
如果是false,接着计算比较表达式2看其返回值是true还是false,
如果是true,就执行语句体2,if语句结束。
如果是false,接着计算比较表达式3看其返回值是true还是false,
...
如果都是false,就执行语句体n+1。
Switch语句
格式:
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;
....
default:
语句体n+1;
break;
}
switch语句的格式解释
- switch表示这是switch语句
表达式的取值:byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是String - case后面跟的是要和表达式进行比较的值
- 语句体部分可以是一条或多条语句
- break表示中断,结束的意思,可以结束switch语句
- default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似
选择结构if语句和switch语句的区别
在做判断的时候,我们有两种选择,if语句和switch语句,那么,我们到底该如何选择使用那种语句呢?
if语句使用场景:
-
针对结果是boolean类型的判断
-
针对一个范围的判断
-
针对几个常量值的判断
switch语句使用场景:
针对几个常量值的判断
循环结构
循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,
需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环
for语句
格式:
for(初始化表达式语句;判断条件语句;控制条件语句) {
循环体语句;
}
执行流程:n
a:执行初始化表达式语句
b:执行判断条件语句,看其返回值是true还是false
如果是true,就继续执行
如果是false,就结束循环
c:执行循环体语句;
d:执行控制条件语句
e:回到B继续。
while语句
格式:
while(判断条件语句) {
循环体语句;
}
执行流程:
a:执行初始化条件语句;
b:执行判断条件语句,看其返回值是true还是false
如果是true,就继续执行
如果是false,就结束循环
c:执行循环体语句;
d:执行控制条件语句
e:回到b继续。
do...while语句
do {
循环体语句;
}while(判断条件语句);
执行流程:
a:执行初始化条件语句;
b:执行循环体语句;
c:执行控制条件语句;
d:执行判断条件语句,看其返回值是true还是false
如果是true,就继续执行
如果是false,就结束循环
e:回到b继续。
三种循环语句的区别
- do...while循环至少执行一次循环体。而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。
- A: 如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。不知道用for循环。因为变量及早的从内存中消失,可以提高内存的使用效率。
B:建议优先考虑for循环,然后是while循环 ,最后是do...while循环
三种循环语句的选择
- 如果你知道了循环次数,一般选用for循环。
- 如果不知道要循环多少次一般选用while循环,但要知道循环终止的条件。
死循环
- 注意控制条件语句控制的那个变量的问题,不要弄丢了,否则就容易死循环。
- 两种最简单的死循环格式
while(true){...}
for(;😉
控制跳转语句
想在某个循环执行到某一步的时候就结束这个程序,现在上面所述的循环解决不了,Java为了弥补这个缺陷提供了break,continue和return来实现控制语句的跳转和中断。
控制跳转语句的分类
break
break的使用场景:
- 在选择结构switch语句中
- 在循环语句中
注意:离开使用场景的存在是没有意义的
作用:
- 退出单层循环
- 退出多层循环(几乎不使用)
continue
continue的使用场景:
- 在循环语句中
- 离开使用场景的存在是没有意义的
作用:
跳出一次循环,执行下一步操作
return
return的作用:
退出一个方法,跳转到上层调用的方法。