程序控制结构
-
三大流程控制语句
顺序控制
分支控制
循环控制
-
顺序控制
程序从上到下依次执行
-
分支控制
if-else
-
单分支 if
-
双分支 if-else
-
多分支 if-else if-…-else
int score = 12; // 单分支 if(score >= 60) { ... } // 双分支 if(score >= 60) { ... } else{ ... } // 多分支 if(score >= 60) { ... } else if(score > 70){ ... } else if(score > 80){ ... } else { ... }
-
-
嵌套分支
一个分支结构中的又套入了另一个完整的分支结构(一般不超过三层)
if() { if() { ... } else{ ... } }
-
switch分支
switch(表达式) { case 常量1: 语句块1; break; case 常量2: 语句块2; break; case 常量3: 语句块3; break; .... .... case 常量n: 语句块n; break; default: 语句块; break; }
细节:
- 表达式:必须是byte、short、int、char、enum、String类型
- case子句中必须是常量,而不能是变量
- default可写可不写
- 如满足某个case条件,则执行某个语句块,若没有break,则一直向下执行
-
switch和if比较
如果是byte、short、int、char、enum、String类型,建议使用switch
区间适合使用if
个人觉得:喜欢哪个用哪个
-
for循环控制
for(初始化-1;循环条件-2;变量迭代-4){ 语句-3; }
说明:
- 执行顺序,1 - 2 - 3 - 4 - 2 - 3 - 4…,直到2不满足
- 循环体只有一条,可以省略{}
细节:
- 循环条件返回一个boolean表达式
- for( ; ; )都可省略,但必须有 ;
-
while循环控制和do…while循环控制
//和for结构类似,只不过位置不太相同,其他的差不多 whiler(循环条件){ 循环体(语句); 循环变量迭代 }
do{ 循环体 迭代条件 }while(循环条件);
-
多重循环控制(重点)
和分支嵌套类似,循环嵌套循环
for(int i = 0; i < 3; i++ ){ // 外层循环 for(int j = 1;j <= 10; j++ ){ // 内层循环 循环语句 } } // 外层循环执行1次,内层循环执行10次,依次类推,外层执行3次,内层执行3*10=30次
-
跳转控制语句-break 和continue
break:终止某个语句块的执行
continue:用于结束本次循环,继续执行下一次循环
在循环中,可结束循环
for(int i = 0; i < 3; i++) { // 跳到这里,来判断外层循环 for(int j = 0; j < 6; j++) { if(j == 3) { break; // 只跳出离它最近的一层循环,当j==3时,就不执行了 } System.out.println(j);// 012 012 012 } }
for(int i = 0; i < 3; i++) { for(int j = 0; j < 6; j++) {// 跳到这里,不执行j==3 if(j == 3) { continue; // 只跳过本次循环,不影响当前循环后面的执行 } System.out.println(j);// 01245 01245 01245 } }