java switch 语句的用法
的有关信息介绍如下:
Java Switch 语句的用法
Java 中的 switch 语句是一种多分支选择结构,用于基于某个变量的值执行不同的代码块。它提供了一种简洁的方式来替代多个 if-else if-else 语句。以下是 switch 语句的基本用法和一些高级特性。
基本语法
switch (expression) { case value1: // 当 expression 的值为 value1 时执行的代码 break; // 可选,但通常建议加上以避免“贯穿”(fall-through) case value2: // 当 expression 的值为 value2 时执行的代码 break; // 可以有多个 case 分支 default: // 当 expression 的值不匹配任何 case 时执行的代码 }使用示例
以下是一个简单的例子,演示了如何使用 switch 语句来根据数字打印对应的星期几:
public class SwitchExample { public static void main(String[] args) { int day = 3; switch (day) { case 1: System.out.println("Monday"); break; case 2: System.out.println("Tuesday"); break; case 3: System.out.println("Wednesday"); break; case 4: System.out.println("Thursday"); break; case 5: System.out.println("Friday"); break; case 6: System.out.println("Saturday"); break; case 7: System.out.println("Sunday"); break; default: System.out.println("Invalid day"); } } }在这个例子中,如果变量 day 的值是 3,程序将输出 "Wednesday"。
高级特性
多个 Case 标签(贯穿): 在默认情况下,当匹配到一个 case 后,程序会继续执行后续的 case 和 default 代码块,直到遇到 break 语句或 switch 块结束。这种行为称为“贯穿”。
switch (num) { case 1: case 2: case 3: System.out.println("Number is 1, 2, or 3"); break; default: System.out.println("Number is not 1, 2, or 3"); }使用枚举类型: switch 语句非常适合与枚举类型一起使用。
enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } public class EnumSwitchExample { public static void main(String[] args) { Day today = Day.WEDNESDAY; switch (today) { case MONDAY: System.out.println("Today is Monday"); break; case WEDNESDAY: case FRIDAY: System.out.println("Midweek day"); break; case SATURDAY: case SUNDAY: System.out.println("Weekend"); break; default: System.out.println("Regular workday"); } } }Java SE 12 及更高版本中的 Switch Expressions: 从 Java SE 12 开始,引入了增强的 switch 表达式,允许返回值。
int numLetters = switch (day) { case MONDAY, FRIDAY, SUNDAY -> 6; case TUESDAY -> 7; case THURSDAY, SATURDAY -> 8; case WEDNESDAY -> 9; default -> throw new IllegalStateException("Invalid day: " + day); }; System.out.println("Number of letters in the name: " + numLetters);
总结
switch 语句是 Java 中处理多分支逻辑的强大工具。通过合理使用 case、break 和 default 子句,可以编写出清晰且易于维护的代码。随着 Java 语言的发展,switch 表达式的引入进一步增强了其功能和灵活性。



