在 Java 里说到 “Switch 开关”,通常是指 switch 语句,它是一种多分支选择结构,用来替代多个 if...else if...else,让代码更清晰、可读性更好。
下面从 是什么、怎么用、执行流程、注意点、新特性 几个方面来理解。
switch 就像一个 “多选一开关”:
default✅ 适合:一个变量和多个固定值比较
switch (表达式) {
case 值1:
// 代码
break;
case 值2:
// 代码
break;
default:
// 默认执行
}
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("未知日期");
}
day == 3case 3break,结束 switchint num = 1;
switch (num) {
case 1:
System.out.println("一");
case 2:
System.out.println("二");
default:
System.out.println("其他");
}
输出:
一
二
其他
✅ 原因:
匹配到 case 1 后,没有 break,继续执行后面的代码。
✅ 一般都要加 break(除非你特意想贯穿)
byteshortcharintenum(枚举)String❌ 不支持:
longfloatdoubleboolean✅ 示例(String):
String color = "red";
switch (color) {
case "red":
System.out.println("红色");
break;
case "blue":
System.out.println("蓝色");
break;
}
defaultif 里的 elseswitch (x) {
case 1:
break;
default:
System.out.println("没有匹配到");
}
✅ default 可有可无
✅ 一般建议写上
int score;
switch (level) {
case "A":
score = 90;
break;
case "B":
score = 80;
break;
default:
score = 60;
}
int score = switch (level) {
case "A" -> 90;
case "B" -> 80;
default -> 60;
};
✅ 优点:
breakx > 10)Switch 就是一个“值匹配开关”,根据变量的值,选择执行哪一段代码。
如果你愿意,我可以:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。