顺序结构:从上到下依次执行 前向引用
分支结构:根据条件选择的执行某段代码
1.if -else 结构
分支结构 if-else
1、格式1
if(条件表达式){
语句块
}
2、格式2
if(条件表达式){
语句块;
}else{
语句块;
}
3、格式3
if(条件表达式){
语句块;
}else if (条件表达式2){
语句块;
}.......
else{
语句块;
}
class IfElseTest3{public static void main(String[] agrs){int heartBeats=89;if(heartBeats<60 && heartBeats>100){System.out.println("你需要做进一步检查");}System.out.println("体检结束");int score=61;if(score==100){System.out.println("奖励跑车");}else if(score<=99&&score>80){System.out.println("奖励山地");}else if(score>=60 && score<=80){System.out.println("奖励环球音程");}else{System.out.println("揍");}
if-else嵌套
存入三个变量num1,num2,num3,对他们排序,从小到大使用if-else
class IfElseTest{public static void main(String[] agrs){int num1=30,num2=21,num3=44;if(num1>=num2){if(num3>=num1){System.out.println(num2+","+num1+","+num3);}else if(num3<=num2){System.out.println(num3+","+num2+","+num1);}else{System.out.println(num2+","+num3+","+num1);}}else{if(num3>=num2){System.out.println(num1+","+num2+","+num3);}else if(num3<=num1){System.out.println(num3+","+num1+","+num2);}else{System.out.println(num1+","+num3+","+num2);}}}
}
从开发经验上讲,没有嵌套超过3层的,超过了就要想是不是可以优化
switch-case结构
分支结构 switch-case
switch(表达式)
case(常量1):
//执行语句;
case(常量2):
//执行语句;
.......
default:
//执行语句
//break;
class SwitchCaseTest{public static void main(String[] agrs){int num=1;switch(num){case 0:System.out.println("zero");break;case 1:System.out.println("one");break;case 2:System.out.println("two");break;case 3: System.out.println("three");break;default:System.out.println("other");break;//不加break,从one后面的都会被执行到-->case穿透,如果只想要one,就要把每句后面都加上break;}} }
说明:switch 中的表达式只能是特定的数据类型 byte/short/int/char/枚举/String
case 后跟的常量,使用表达式与这些常量做相等的判断,不能进行范围的判断。
开发中,使用这个结构的情况都有限
开发者凡是可以使用switch-case结构的场景,都可以改写成if-else
如果开发中具体问题既可以使用switch-case,if-else,而且代码难度差不多,用switch-case,switch-case效率稍高。
break跳出当前结构
下面是执行流程图
以上就是流程控制中的分支结构啦