在 Java 里,“Switch 开关”通常指的是 switch 语句,用来根据一个变量的值执行不同的代码分支。下面从基本用法 → 新特性 → 常见注意点给你讲清楚。
switch 用法(传统写法)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("未知日期");
}
switch(变量):只能是 byte / short / char / int / enum / Stringcase:匹配值break:跳出 switch,否则会继续执行(贯穿)default:相当于 elsebreak 会怎样?(贯穿现象)int num = 1;
switch (num) {
case 1:
System.out.println("1");
case 2:
System.out.println("2");
case 3:
System.out.println("3");
}
输出:
1
2
3
✅ 所以 一般都要加 break
int day = 3;
String result = switch (day) {
case 1 -> "星期一";
case 2 -> "星期二";
case 3 -> "星期三";
default -> "未知";
};
System.out.println(result);
✅ 优点:
breakint score = 90;
switch (score / 10) {
case 10, 9 -> System.out.println("优秀");
case 8, 7 -> System.out.println("良好");
case 6 -> System.out.println("及格");
default -> System.out.println("不及格");
}
✅ Java 支持:
byteshortcharintenum(枚举)String(Java 7+)❌ 不支持:
longfloatdoubleboolean| 场景 | 推荐 |
|---|---|
| 判断固定值 | switch |
| 判断范围 | if |
| 逻辑复杂 | if |
// if 更适合范围判断
if (score >= 90) {
System.out.println("优秀");
}
switch 看值,case 匹配,break 跳出,default 兜底
如果你愿意,我也可以:
你现在是 学习阶段 还是 写项目遇到问题?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。