IF-ELSE 语句
if-else 语句用于在两个条件分支中选择执行,满足 boolean 表达式时执行语句块1,否则执行语句块2:
if (boolean表达式) {
语句块1;
} else {
语句块2;
}Code language: JavaScript (javascript)
练习一:结账系统(增加金额不足判断)
public static void main(String[] args) {
System.out.println("请输入单价:");
Scanner scan = new Scanner(System.in);
double price = scan.nextDouble();
System.out.println("请输入数量:");
double number = scan.nextDouble();
System.out.println("请输入金额:");
double money = scan.nextDouble();
double total = price * number;
if (total >= 1000) {
if (money >= total * 0.9) {
System.out.println("返回:" + (money - total * 0.9));
} else {
System.out.println("抱歉,钱不够");
}
} else {
if (money >= total) {
System.out.println("返回:" + (money - total));
} else {
System.out.println("抱歉,钱不够");
}
}
}Code language: JavaScript (javascript)
说明:这里使用了
if-else的嵌套结构。外层判断总价是否满 1000 以决定折扣,内层判断付款金额是否充足。
练习二:判断偶数
public static void main(String[] args) {
System.out.println("请输入一个整数:");
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
if (num % 2 == 0) {
System.out.println("是偶数");
} else {
System.out.println("不是偶数");
}
}Code language: JavaScript (javascript)
练习三:判断闰年(使用分支结构)
public static void main(String[] args) {
System.out.println("请输入一个年份:");
int year = new Scanner(System.in).nextInt();
if (year % 400 == 0) {
System.out.println("是闰年");
} else {
if (year % 4 == 0 && year % 100 != 0) {
System.out.println("是闰年");
} else {
System.out.println("不是闰年");
}
}
}Code language: JavaScript (javascript)
说明:这里同样使用了嵌套
if-else。先判断能否被 400 整除,如果不能则再判断是否能被 4 整除且不能被 100 整除。也可以将条件合并为一个if-else使代码更简洁。
总结
| 场景 | 写法 |
|---|---|
| 二选一 | if (条件) { ... } else { ... } |
| 嵌套判断 | if 内部再写 if-else |
| 多条件 | 可连续使用 else if |
注意:
if-else比两个独立的if效率更高,因为else保证了两个分支中只有一个会被执行。
Previous: 程序流程结构——分支
Next: IF…ELSE…IF 语句