程序设计中规定的三种
流程结构,即:
-
顺序结构
程序从上到下逐行地执行,中间没有任何判断和跳转 -
分支结构
根据条件,选择性地执行某段代码
有if…else
和switch-case
两种分支语句 -
循环结构
根据循环条件,重复性的执行某段代码。
有for
、while
、do-while
三种循环语句。
补充:JDK5.0 提供了foreach
循环,方便的遍历集合、数组元素
顺序结构
顺序结构就是程序从上到下逐行
地执行。表达式语句都是顺序执行的
分支语句
if-else
-
结构1:单分支条件判断
if(条件表达式){语句块; }
-
结构2:双分支条件判断
if(条件表达式) { 语句块1; }else {语句块2; }
-
多分支条件判断
if (条件表达式1) {语句块1; } else if (条件表达式2) {语句块2; } ... }else if (条件表达式n) {语句块n; } else {语句块n+1; }
switch-case
switch(表达式){case 常量值1:语句块1;//break;case 常量值2:语句块2;//break; // ...default:语句块n+1;break;}
注意点
- switch 中表达式的值必须是下述几种类型之一:byte,short,char,int,枚举 (jdk 5.0),String (jdk 7.0)
- case 子句中的值必须是常量,不能是变量名或不确定的表达式值或范围
- break语句用来在执行完一个case分支后使程序跳出switch语句块。如果没有break,程序会顺序执行到switch结尾
- case 一旦匹配成功,除非遇到 break 或者语句执行结束,不然后续所有的 case 语句不会判断,直接执行语句
if-else 和 switch-case 比较
凡是使用 switch-case 的结构都可以转换为 if-else 结构
如果既可以使用 switch-case,又可以使用 if-else,建议使用 switch-case。因为效率稍高
循环语句
for 循环
for (①初始化部分; ②循环条件部分; ④迭代部分){③循环体部分;
}
执行过程: ①-②-③-④-②-③-④-②-③-④-…-②
while 循环
①初始化部分
while(②循环条件部分){③循环体部分;④迭代部分;
}
执行过程: ①-②-③-④-②-③-④-②-③-④-…-②
do-while 循环
①初始化部分;
do{③循环体部分④迭代部分
}while(②循环条件部分);
执行过程: ①-③-④-②-③-④-②-③-④-…-②