精通 Java Switch 语句:语法、用法与最佳实践
Java switch 语句
通过清晰示例和最佳实践,了解 Java switch 语句如何引导程序流程。
switch 语句允许根据表达式的值从多个备选项中执行单个代码块。
switch 语句在 Java 中的语法:
switch (expression) {
case value1:
// 代码
break;
case value2:
// 代码
break;
...
default:
// 默认语句
}
switch-case 语句如何工作?
expression 计算一次,并与每个 case 的值比较。
- 若 expression 匹配 value1,执行
case value1内代码。匹配 value2 同理。 - 若无匹配,执行 default 块。
注意:功能上类似 if…else 阶梯,但 switch 语法更清晰、可读性更强。
示例:Java switch 语句
// 使用 switch...case 检查尺寸
class Main {
public static void main(String[] args) {
int number = 44;
String size;
// switch 语句检查尺寸
switch (number) {
case 29:
size = "Small";
break;
case 42:
size = "Medium";
break;
// 匹配 week 的值
case 44:
size = "Large";
break;
case 48:
size = "Extra Large";
break;
default:
size = "Unknown";
break;
}
System.out.println("Size: " + size);
}
}
输出:
Size: Large
上例中,变量 number 与每个 case 比较。当 number 等于 44 时,case 44 块执行,将 Large 赋给 size。
size 变量获得值 Large,程序输出 Size: Large。
推荐阅读:使用 Java switch 语句创建简单计算器
switch 语句流程图

Java switch…case 中的 break 语句
每个 case 块通常以 break 结尾,防止意外穿透。
...
case 29:
size = "Small";
break;
...
无 break 时,匹配后会继续执行后续 case。例如:
class Main {
public static void main(String[] args) {
int expression = 2;
// switch 语句检查尺寸
switch (expression) {
case 1:
System.out.println("Case 1");
// 匹配的 case
case 2:
System.out.println("Case 2");
case 3:
System.out.println("Case 3");
default:
System.out.println("Default case");
}
}
}
输出
Case 2 Case 3 Default case
因省略 break,匹配 case 2 后继续执行 case 3 和 default。每个 case 后加 break 确保仅执行匹配块。
详见 Java break 语句。
Java switch-case 中的 default 分支
default 子句可选,无 case 匹配时执行。例如:
class Main {
public static void main(String[] args) {
int expression = 9;
switch(expression) {
case 2:
System.out.println("Small Size");
break;
case 3:
System.out.println("Large Size");
break;
// default 分支
default:
System.out.println("Unknown Size");
}
}
}
输出
Unknown Size
因 expression (9) 未匹配任何 case,执行 default 块,打印 Unknown Size。
注意:Java switch 语句支持以下类型:
- 基本数据类型:byte、short、char、int
- 枚举类型 (enums)
- String 类
- 包装类:Character、Byte、Short、Integer
java
- 掌握 C# switch 语句:语法、示例与最佳实践
- 掌握 C++ switch-case 语句:语法、流程与计算器实战案例
- C 语言 switch 语句完全指南:语法、流程与计算器实例
- 掌握 C++ switch-case:语法、用法与实战示例
- 精通 Java 运算符:类型、语法与实战示例
- Java 注释:类型、用法与最佳实践
- 精通 Java if…else:控制流全解析
- 精通 Java 增强 for 循环:语法、示例与最佳实践
- 精通 Java 字符串:创建、方法与最佳实践
- 精通 Java 接口:概念、实现与最佳实践
- 精通 Java Try-With-Resources:自动资源管理详解
- Java 注解详解:类型、放置位置与实战示例