选择结构
1. 基本if选择结构
语法:
if(布尔表达式) {
//代码块
}
后续代码...
执行流程:
1.对布尔表达式进行判断。
2.结果为true,则先执行代码块,再执行后续代码。
3.结果为false,则跳过代码块,直接执行后续代码。
2. if else选择结构
语法:
if(布尔表达式) {
// 代码块1
} else {
// 代码块2
}
后续代码......
执行流程:
- 对布尔表达式进行判断。
- 结果为true。则执行代码块1,再退出整个结构,执行后续代码
- 结果为false,则执行代码块2,再退出整个结构,执行后续代码
3. 多重if选择结构
语法:
if(布尔表达式1){
//代码块
}else if(布尔表达式2) {
//代码块2
} else if(布尔表达式3) {
//代码块3
} else {
//代码块4
}
执行流程:
1.表达式1为true,则执行代码块1,再退出整个结构。
- 表达式2为true,则执行代码块2,再退出整个结构。
- 表达式3为true,则执行代码块3,再退出整个结构
- 以上均为false,则执行代码块4,再退出整个结构
注:相互排斥,有一个为true,其他均不再执行,适用于区间判断。
用例如下:
public class TestMultiIf {
public static void main(String[] args) {
//汽车销售推荐
/*
如果预算是500万,宾利
否则,如果预算是300万,奔驰G63 AMG
否则,如果预算是100万,宝马X6
否则,如果预算是50万,奥迪A6L
否则,如果预算是20万,帕萨特
否则,如果预算是10万,宝来
否则,如果预算是5万,五菱宏光S
否则,如果预算是1万,小鸟电动车
否则,捷安特
*/
int money = 200;//单位:万
if(money >= 500) {
System.out.println("宾利");
}else if(money >= 300) {
System.out.println("奔驰G63 AMG");
}else if(money >= 100) {
System.out.println("宝马X6");
}else if(money >= 50) {
System.out.println("奥迪A6L");
}else if(money >= 20) {
System.out.println("帕萨特");
}else if(money >= 10) {
System.out.println("宝来");
}else if(money >= 5) {
System.out.println("五菱宏光S");
}else if(money >= 1) {
System.out.println("小鸟电动车");
}else {
System.out.println("捷安特");
}
System.out.println("程序退出");
}
}
4. 嵌套if选择结构
语法:
if(外层表达式) {
if(内层表达式) {
//内层代码块
} else {
//内层代码块2
}
} else {
//外层代码块
}
用例如下:
public class TestNestedIf {
public static void main(String[] args) {
//百米赛跑 13
//计时器
double timer = 12;
char sex = '男';
if(timer <= 13) {
//具备进入决赛的资格
if(sex == '男') {
System.out.println("进入男子组决赛");
}else {
System.out.println("进入女子组决赛");
}
}else {
System.out.println("淘汰");
}
}
}