Switch case 语句
发布: (2026年2月7日 GMT+8 17:44)
2 分钟阅读
原文: Dev.to
Source: Dev.to
概述
- switch case 是一种控制语句,允许根据变量或表达式的值执行不同的代码块。
- 与编写大量
if–else语句相比,它通常更简洁、更易阅读。 - 在 Java 中,
switch语句可用于原始类型int、byte、short、char,以及自 Java 8 起的String。 - 从 Java 12 开始,可以使用箭头语法(
->)作为更简洁的break替代方案。
语法
switch (expression) {
case value1:
// statements
break; // 停止穿透
case value2 -> // 箭头语法 (Java 12+)
// statements
default:
// default statements
}
break;在匹配的 case 块执行完后停止执行。- 箭头语法(
->) 自动阻止穿透,因此不需要显式的break。
示例 1 – 对 int 进行 switch
public class SwitchCaseExample {
public static void main(String[] args) {
int day = 5; // 可以是 int、byte、short 或 char
switch (day) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
default:
System.out.println("Holiday");
}
}
}
示例 2 – 对 String 进行 switch(Java 8+)
package moduleTwo;
public class SwitchCaseTest {
public static void main(String[] args) {
String say = "hello";
switch (say) {
case "hi":
System.out.println("hey");
break;
case "hello":
System.out.println("Good morning");
break;
default:
System.out.println("unknown");
}
}
}
示例 3 – 多标签和箭头语法(Java 12+)
public class SwitchCaseTest {
public static void main(String[] args) {
String grade = "B";
switch (grade) {
case "A", "B" -> System.out.println("pass");
case "C" -> System.out.println("fail");
default -> System.out.println("no result");
}
}
}