在 Java 中,“Switch 开关”通常指 switch 语句,用于根据一个变量的值执行不同的代码分支。下面从基础写法 → 新特性 → 常见示例给你系统讲一下。
switch 写法(Java 7+)int day = 3;
switch (day) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
default:
System.out.println("未知日期");
}
✅ 支持类型:
byte、short、char、intenumString(Java 7 开始)❗ 注意:
break,否则会穿透(fall-through)default 可选int num = 2;
switch (num) {
case 1:
case 2:
case 3:
System.out.println("1~3");
break;
default:
System.out.println("其他");
}
int score = 85;
String level = switch (score / 10) {
case 10, 9 -> "优秀";
case 8 -> "良好";
case 7 -> "中等";
case 6 -> "及格";
default -> "不及格";
};
System.out.println(level);
✅ 特点:
break->yield 的写法(复杂逻辑)int result = switch (score / 10) {
case 10, 9:
yield 100;
case 8:
yield 80;
default:
yield 60;
};
enum Color {
RED, GREEN, BLUE
}
Color color = Color.RED;
switch (color) {
case RED -> System.out.println("红色");
case GREEN -> System.out.println("绿色");
case BLUE -> System.out.println("蓝色");
}
switch (x) {
case 1:
System.out.println("1");
case 2:
System.out.println("2");
}
输出:
1
2
switch (10L) { } // ❌ 编译错误
✅ 适合:
enumif-else❌ 不适合:
x > 10)如果你愿意,我可以:
你是 初学者 还是 准备面试?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。