第03章_流程控制语句
程序设计中规定的三种流程结构:
顺序结构:
程序从上到下逐行地执行,中间没有任何判断和跳转
分支结构:
根据条件,选择性地执行某段代码,有 if…else 和 switch-case 两种分支语句。
循环结构:
根据循环条件,重复性的执行某段代码。
有 for 、 while 、 do-while 三种循环语句。
foreach循环,方便遍历数组,集合。
分支结构
if(条件表达式){
语句块;
}

if(条件表达式) {
语句块1;
}else {
语句块2;
}

if(条件表达式) {
语句块1;
}else if(条件表达式){
语句块2;
}...

switch-case选择结构:
switch(表达式){
case 常量值1:
语句块1;
//break;
case 常量值2:
语句块2;
//break;
// ...
[default:
语句块n+1;
break;
]
}
如果遇到break,则执行break并跳出当前的switch-case结构
如果没有遇到break,则会继续执行当前case之后的其它case中的执行语句。—>case穿透
直到遇到break关键字或执行完所有的case及default的执行语句,跳出当前的switch-case结构
switch(表达式)中表达式的值必须是下述几种类型之一:byte,short,char,int,枚举 (jdk 5.0),String (jdk 7.0);
case子句中的值必须是常量,不能是变量名或不确定的表达式值或范围;
同一个switch语句,所有case子句中的常量值互不相同;
break语句用来在执行完一个case分支后使程序跳出switch语句块;
如果没有break,程序会顺序执行到switch结尾;
default子句是可选的。同时,位置也是灵活的。当没有匹配的case时,执行default语句
循环结构
for循环
for (①初始化部分; ②循环条件部分; ④迭代部分){
③循环体部分;
}①-②-③-④-②-③-④-②-③-④...②
while循环
①初始化部分
while(②循环条件部分){
③循环体部分;
④迭代部分;
}①-②-③-④-②-③-④-②-③-④-...-②
do-while循环
①初始化部分;
do{
③循环体部分
④迭代部分
}while(②循环条件部分);①-③-④-②-③-④-②-③-④-...-②
遍历有明显的循环次数(范围)的需求,选择for循环
遍历没有明显的循环次数(范围)的需求,选择while循环
如果循环体语句块至少执行一次,可以考虑使用do-while循环
最简单"无限"循环格式: while(true) , for(;;)
关键字break和continue的使用
(1) 相同点
用途都是控制循环的执行流程
break和continue都用于在循环结构中控制程序的执行流程,改变循环的正常顺序。
都可以用在循环语句中
它们都可以出现在for、while、do-while等循环语句中。
break可以用于switch跳出switch结构,而continue不适用于switch。
(2)不同点
break终止当前所在的整个循环(或switch)影响范围跳出循环体,循环结束使用场景当需要停止循环条件,完全退出循环在多层嵌套中只能跳出包含它的最近一层循环与switch的关系break用于跳出switch语句块
continue跳过当前循环的剩余语句,直接进入下一轮循环判断影响范围跳出循环体,循环结束使用场景当需要跳过当前循环中的某些步骤,继续后续循环在多层嵌套中当需要跳只能跳过包含它的最近一层循环当前迭代 continue不能用于switch语句