流程控制分类
* 顺序结构:从上到下,从左到右执行
* 分支结构:
1. if结构
2. if-else结构
3. 多重if结构(前面的表达式都必须是boolean类型
4. switch结构(表达式必须是变量byte/short/int/char/String,caes块中必须不能是区间段,而是具体的值
* 循环结构:
1. while结构(只要条件不成立,就一直循环,表达式为boolean)
2. for循环语句(包括初始化表达式(入口);循环条件(boolean);操作表达式(出口))
3. do-while结构(无条件执行一次do,再判断while是否继续执行)
死循环,没有出口"while(true){}"
循环可以任意嵌套
分支结构1
if
if(条件表达式){
执行语句;
}
if(a==b){
System.out.println("a="+a);
}
if-else
if(条件表达式){
执行语句1;
}else{
执行语句2;
}
if(a==b){
System.out.println("a="+a);
}else{
System.out.println("b="+b)
}
if-else if-else(else if 可以多个)
if(条件表达式1){
执行语句1;
}else if(条件表达式2){
执行语句2;
}
if(a==b){
System.out.println("a="+a+"\t"+"b="+b);
}else if(a>b){
System.out.println("a="+a)
}
if-else if
if(条件表达式1){
执行语句1;
}else if(条件表达式2){
执行语句2;
}else{
执行语句3;
}
if(a==b){
System.out.println("a="+a+"\t"+"b="+b);
}else if(a>b){
System.out.println("a="+a);
}else{
System.out.println("b="+b);
}
分支结构2
switch-case
例子参考com.javacore.algorithm.SwitchCaseTest.java
int number=2;
switch(number){
case 0:
System.out.println("number="+0);
break;
case 1:
System.out.println("number="+1);
break;
case 2:
System.out.println("number="+2);
break;
case 3:
System.out.println("number="+3);
break;
case 4:
System.out.println("number="+4);
break;
default:
System.out.println("number=other");
break;
}
注意:switch中的值匹配case中的常量值,一旦匹配成功,则进入相应case结构中的执行语句吗,当调用完执行语句以后,会继续执行下面的case结构中的执行语句,直到遇到break或switch结构结束
switch中允许的值:byte、short、int、char、String(JDK7.0)、枚举
循环结构
循环语句的四个组成部分
①初始化部分
②循环条件部分
③循环体部分
④迭代部分
①
while(②){
③;
④;
}
for(①;②;④){
③
}
①
do{
③;
④;
}while(②)
执行流程:①->③->④->②=true->③->④->②.....
使用范围 | 作用 | |
---|---|---|
break | switch-case、循环结构中 | 跳出当前所在循环 |
continue | 循环结构中 | 结束本次循环 |
break标签–直接跳出指定循环体
continue标签–结束指定循环体的本次循环
lable:for(int i=0;i<4;i++){
for(int j=0;j<10;j++){
if(j%4==0){
break lable;
}
}
}
lable:for(int i=0;i<4;i++){
for(int j=0;j<10;j++){
if(j%4==0){
continue lable;
}
}
}