if-else 和 switch 语句,控制程序的执行分支
根据条件判断执行不同的代码块。
int score = 85;
String grade;
if (score >= 90) {
grade = "A";
} else if (score >= 80) {
grade = "B";
} else if (score >= 70) {
grade = "C";
} else if (score >= 60) {
grade = "D";
} else {
grade = "F";
}
// 三元运算符:条件 ? 值1 : 值2
int a = 10, b = 20;
int max = (a > b) ? a : b; // max = 20
当需要判断多个固定值时,switch 比多个 if-else 更清晰。
int day = 3;
switch (day) {
case 1:
System.out.println("星期一");
break; // 必须加 break,否则会"穿透"到下一个 case
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
default:
System.out.println("其他");
}
// Java 12+ 支持 switch 表达式(箭头语法 + 返回值)
String name = switch (day) {
case 1 -> "星期一";
case 2 -> "星期二";
case 3 -> "星期三";
default -> "其他";
};
如果某个 case 没有 break,程序会继续执行下一个 case 的代码,这叫做 "fall-through"。有时可以利用这个特性合并多个 case,但通常要小心使用。
int n = 2;
switch (n) {
case 1:
System.out.print("A");
case 2:
System.out.print("B");
case 3:
System.out.print("C");
default:
System.out.print("D");
}