Java Switch

Java Switch 语句

使用 switch 语句选择要执行的许多代码块之一。

语法

switch(expression) {
  case x:
    // 代码块
    break;
  case y:
    // 代码块
    break;
  default:
    // 代码块
}

这是它的工作原理:

  • switch 表达式计算一次
  • 将表达式的值与每个 case 的值进行比较
  • 如果匹配,则执行关联的代码块
  • breakdefault 关键字是可选的,将在本章后面介绍

下例使用 weekday 编号来计算 weekday 名称:

实例

int day = 4;
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;
}
// 输出 "Thursday" (day 4)

亲自试一试

break 关键字

当 Java 遇到 break 关键字时,会跳出 switch 块。

这会停止在块内执行更多代码和 case 测试。

找到匹配项并完成工作后,就是时候 break 了。无需进行更多测试。

提示:中断可以节省大量执行时间,因为它“忽略”了对 switch 块中所有其余代码的执行。

default 关键字

如果没有 case 匹配,default 关键字指定了要运行的代码:

实例

int day = 4;
switch (day) {
  case 6:
    System.out.println("Today is Saturday");
    break;
  case 7:
    System.out.println("Today is Sunday");
    break;
  default:
    System.out.println("Looking forward to the Weekend");
}
// 输出 "Looking forward to the Weekend"

亲自试一试

注意:如果将 default 语句用作 switch 块中的最后一条语句,则不需要中断。