1、流程控制
顺序结构
顺序结构是程序中最简单的语句,按照代码的编写顺序,从上往下执行。
分支(选择)结构
if 语句
格式一:
if(关系表达式) {
语句体;
}
执行流程:
- 首先计算关系表达式
- 如果关系表达式的值为true就执行语句体
- 如果关系表达式的值为false就不执行语句体
- 继续执行后面的代码
格式二:
if(关系表达式) {
语句体1;
} else {
语句体2;
}
执行流程
- 首先计算关系表达式的值
- 如果关系表达式的值为true就执行语句体1
- 如果关系表达式的值为false就执行语句体2
- 继续执行后面的语句内容
格式三:
if(关系表达式1) {
语句体1;
} else if(关系表达式2) {
语句体2;
} else {
语句体3;
}
执行流程
- 首先计算关系表达1的值
- 如果值为true就执行语句体1;如果false就计算关系表达式2的值
- 如果值为true就执行语句体2;如果false就计算关系表达式3的值
- …
- 如果没有任何关系表达式为true,就执行语句体n+1
switch 语句
格式
switch(表达式) {
case 值1:语句体1;break;
case 值2:语句体2;break;
case 值3:语句体3;break;
...
case 值n:语句体n;break;
default:语句体n+1;break;
}
注意事项:
- 表达式的结果只能以下类型的值:byte short char int 枚举 String
- case 后面的值唯一,不能重复
- default 相当于if第三种格式中的false,可以省略,但一般不省略,对其他情况的处理。default 的位置可以任意。
- break可以省略,位置之后可能会出现case穿透
循环语句
for
循环结构
组成
- 初始化语句
- 条件判断语句
- 循环体语句
- 条件控制语句
语句格式
for(初始化语句; 条件判断语句; 条件控制语句){
循环体语句;
}
执行流程
- 执行初始化语句
- 执行条件判断语句,看其结果是true还是false,如果是false,循环结束,如果是true,继续执行
- 执行循环体语句
- 执行条件控制语句
- 回到2继续
while
语句格式
初始化语句;
while(条件判断语句){
循环体语句;
条件判断语句;
}
执行流程
- 执行初始化语句
- 执行条件判断语句,看其结果是true还是false,如果是false,循环结束,如果是true,继续执行
- 执行循环体语句
- 执行条件控制语句
- 回到2继续
do……while
语句格式
初始化语句;
do{
循环体语句;
条件控制语句;
}while(条件判断语句);
执行流程
- 执行初始化语句
- 执行循环体语句
- 执行条件控制语句
- 执行条件判断语句,看其结果是true 还是 false,如果是false,循环结束,如果是true,继续执行
- 回到2继续
三种循环的区别
- for循环和while循环先判断条件是否成立,然后决定是否执行循环体
- do…while 循环先执行一次循环体,然后判断条件是否成立,再执行循环体
- for循环内部定义的变量在循环之后就会从内存中释放,而while循环中定义的变量循环结束后还可以继续使用
- 死循环的三种格式。
for( ; ; ;) {}
while(true) {}
do{} while(true);
跳转控制语句
continue:用在循环中,基于条件控制,跳过某次循环体内容的执行,继续下一次执行。
break:在用在循环中,基于条件控制,终止循环体内容的执行,也就是说结束当前整个循环
循环嵌套
一个循环中包含了一个循环。称之为循环嵌套。