流程控制语句
1 程序流程
1.1 什么是程序的流程
指的是代码执行的先后过程
1.2 流程的分类
- 顺序流程:程序的默认流程,按照书写顺序执行
- 选择流程:通过控制语句,选择分支。主要有两种:判断语句,选择语句
- 重复流程:循环控制语句
2 选择流程
2.1判断语句
单支判断
if (condition) {
}
condition:布尔表达式
简写(不推荐)
if (4<3)
System.out.println("a");//if后面第一个语句归属于if
System.out.println("b");
上例中仅打印b,当if的条件成立时,才打印a
双支判断
if (condition) {
} else {
}
三元运算符是双支判断某种情况的一种简写。但是,三元运算符必须有一个变量接收结果,而双支判断不需要
多支判断
if (condition) {
} else if(condition){
}else if(condition){
}
嵌套判断
if (true) {
if (true) {
} else {
}
}
2.2 选择语句
//key应为一常量表达式
switch (key) {
//key的结果和value比较,一致则执行该case对应的语句,然后继续执行下面的直到语句结束
case value:
break;//遇到break语句结束
case value:
break;
//default语句可以写在上面,但是如果写上面则break不可省略
default:
break;
}//遇到switch的右大括号语句结束
3 重复流程
3.1 while循环
while (condition) {
重复执行的代码
}
3.2 do-while循环
do {
至少执行一次
} while (condition);
//和while的区别:do-while先执行一遍,再根据条件判读是否需要继续执行
3.3 for循环
//判断条件中的三个语句均可省略,但分号不可省略
for (int i = 0; i < arr.length; i++) {
重复执行的代码
}
3.4 无限循环
又称死循环:如果一个循环语句的判断条件一直返回true,循环就不会结束。
注意 :在无限循环后面不要写其他代码,因为永远执行不到!
3.5 嵌套循环
在循环体内再书写循环代码,就是嵌套循环。嵌套循环执行时,外层循环每执行一次,内层循环就要全部循环一遍。
因此嵌套循环的执行次数等于外层循环次数和内层循环次数的乘积,所以效率较低,一般不建议嵌套太多层,防止增加程序的时间复杂度。
3.6 break和continue关键字
break
结束当前所在循环语句,默认结束离他最近的循环。
如果想要结束外层循环,可以加一个标记;
continue
结束本次循环,继续下一次循环,不会影响循环次数。