Branch Structure 分支结构
1. 定义
定义:根据条件,选择性地执行某段代码。
注意点:条件表达式必须是布尔表达式(关系表达式或逻辑表达式),布尔型变量。
2.分类
分支结构有2种;if…else(break;)和switch-case(break;)。
2.1: if…else(break;)
2.1.1: if…else(break;)的3种结构
①: if(条件表达式){
执行表达式
}
②:2选1;
if(条件表达式){
执行表达式1
}else{
执行表达式2
}
③: n选1。
if(条件表达式){
执行表达式1
}else if(条件表达式){
执行表达式2
}else if(条件表达式){
执行表达式3
}
…
else{
执行表达式n
}
2.1.2:注意
1.else 结构是可选的。即可以省略 else 。
2.针对于条件表达式:
① 如果多个条件表达式之间是“互斥”关系(或没有交集的关系),无所谓声明顺序。
②如果多个条件表达式之间有交集的关系,需要根据实际情况,考虑清楚应该将哪个结构声明在上面。
③ 如果多个条件表达式之间有包含的关系,通常情况下,需要将范围小的声明在范围大的上面。
3.if-else结构是可以相互嵌套的。
4.如果if-else结构中的执行语句只有一行时,对应的一对{}可以省略的。但是,不建议大家省略。
2.2: switch-case(break;
2.2.1:格式
switch(算术表达式){
case 常量1:
执行语句1;
//break;
case 常量2:
执行语句2;
//break;
…
default:
执行语句n;
//break;
}
2.2.2:注意
- switch结构中的表达式,只能以下6种数据类型之一:
byte 、short、char、int、枚举类型(JDK5.0新增)、String类型(JDK7.0新增)
//String型 赋值格式。
String season = "summer"; case "spring":
- case 之后只能声明常量。不能声明范围,不能是变量名或不确定的表达式值;
- 同一个switch语句,所有case子句中的常量值互不相同;
- break; 用来在执行完一个case分支后使程序跳出switch语句块;如果没有break; 程序会顺序执行到switch结尾。break关键字是可选的,即可省略部分。
- default子句是可任选的,位置也是灵活的。当没有匹配的case时,执行default。相当于if-else结构中的else。
3. 使用说明
- 凡是可以使用switch-case的结构,都可以转换为if-else。反之,不成立。
- 我们写分支结构时,当发现既可以使用switch-case,(同时,switch中表达式的取值情况不太多),又可以使用if-else时,我们优先选择使用switch-case。
原因:switch-case执行效率稍高。
4. 代码展示
示例代码
//输入三个正整数,并获取它们之中的最大值。(最小值)
public void thereIntergeSort(