Java switch 语句

switch 语句允许我们在多个备选方案中执行一个代码块,在本教程中,我们通过示例介绍了在 Java 中如何通过 switch 语句控制程序的执行流程。

在本教程中,我们通过示例介绍了在 Java 中如何通过 switch 语句控制程序的执行流程。

switch 语句允许我们在多个备选方案中执行一个代码块。

switch 语句的语法是:

switch (expression) {

  case value1:
    // code
    break;

  case value2:
    // code
    break;

  ...
  ...

  default:
    // default statements
  }

switch-case 语句是如何工作的?

首先计算表达式 expression 的结果,让后将结果值与每个 case 进行比较:

  • 如果匹配到相应的 case 值,就执行相应的 case 段的代码。
  • 如果没有匹配的 case,就执行 default 段的代码。

注意:switch-case 语句的工作方式类似于Java if…else…if 语句。但是, switch 语句的语法更清晰,更易于阅读和编写。

示例:Java switch 语句

// 使用 switch...case 语句确定尺寸大小

public class Main {
  public static void main(String[] args) {

    int number = 44;
    String size;

    switch (number) {

      case 29:
        size = "小号";
        break;

      case 42:
        size = "中号";
        break;

      // match the value of week
      case 44:
        size = "大号";
        break;

      case 48:
        size = "超大号";
        break;

      default:
        size = "未知";
        break;

    }
    System.out.println("尺寸: " + size);
  }
}

输出

尺寸:大号

在上面的例子中,我们使用了 switch 语句来确定尺寸大小。在这里,我们有一个 number 变量,该变量与每个 case 语句的值进行比较。

由于 number 的值是 44,因此执行 case 44 执行的代码:

size = "大号";
break;

在这里, 尺寸变量被赋值为 大号

switch 语句流程图

Java switch 语句的流程图
Java switch 语句的流程图

Java switch…case 中的 break 语句

请注意,我们一直在每个 case 块中使用 break

 ...
case 29:
  size = "Small";
  break;
...

break 语句用于终止switch-case语句。如果不使用 break ,则匹配 case 之后的所有 case 也会被执行。例如,

public class Main {
  public static void main(String[] args) {

    int expression = 2;

    switch (expression) {
      case 1:
        System.out.println("Case 1");

        // 匹配项
      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

在上面的例子中, 表达式与 case 2 匹配。在本例中,我们没有在每个 case 之后使用 break 语句。因此,也执行 case 2 之后的所有情况。

这就是为什么在匹配 case 之后需要 break 语句来终止 switch-case 语句的原因。 要了解更多信息,请访问 Java break 语句章节。

Java switch-case 中的 default

switch 语句还包括一个可选的 default,当表达式不匹配任何情况时执行。例如,

public class Main {
  public static void main(String[] args) {

    int expression = 9;

    switch(expression) {

      case 2:
        System.out.println("小号");
        break;

      case 3:
        System.out.println("大号");
        break;

      // default case
      default:
        System.out.println("未知号码");
    }
  }
}

输出

未知号码

在上面的例子中,我们创建了一个switch-case语句。这里的值表达 与任何情况都不匹配。

因此, default 的代码被执行。

default:
  System.out.println("未知号码");

注意:Java switch 语句仅适用于: