Java switch 语句

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

语法

switch (expression) {

  case value1:
    // code
    break;
  
  case value2:
    // code
    break;
  
  ...
  ...
  
  default:
    // default statements
  }

switch-case 语句如何工作?

expression 被评估一次,并与每个 case 的值进行比较。

  • 如果 expressionvalue1 匹配,则执行 case value1 的代码。类似地,如果 expressionvalue2 匹配,则执行 case value2 的代码。
  • 如果没有匹配项,则执行 **default case** 的代码。

注意:switch-case 语句的工作方式与 Java if...else...if 阶梯 类似。但是,switch 语句的语法更简洁,并且更容易阅读和编写。


示例:Java switch 语句

// Java Program to check the size
// using the switch...case statement

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

    int number = 44;
    String size;

    // switch statement to check size
    switch (number) {

      case 29:
        size = "Small";
        break;

      case 42:
        size = "Medium";
        break;

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

      case 48:
        size = "Extra Large";
        break;
      
      default:
        size = "Unknown";
        break;

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

输出:

Size: Large

在上面的示例中,我们使用了 switch 语句来查找尺寸。这里,我们有一个变量 number。将变量与每个 case 语句的值进行比较。

由于该值与 **44** 匹配,因此执行 case 44 的代码。

size = "Large";
break;

这里,size 变量被赋值为 Large

另请阅读


switch 语句的流程图

Flowchart of the Java switch statement
Java switch 语句流程图

Java switch...case 中的 break 语句

请注意,我们在每个 case 块中都使用了 break

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

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

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

    int expression = 2;

    // switch statement to check size
    switch (expression) {
      case 1:
        System.out.println("Case 1");

        // matching 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

在上面的示例中,expressioncase 2 匹配。这里,我们在每个 case 之后都没有使用 break 语句。

因此,case 2 之后的所有 case 也被执行了。

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


Java switch-case 中的 default Case

switch 语句还包含一个 **可选的 default case**。当 expression 不匹配任何 case 时,将执行 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 case
      default:
        System.out.println("Unknown Size");
    }
  }
}

输出

Unknown Size

在上面的示例中,我们创建了一个 **switch-case** 语句。这里,expression 的值与任何 case 都不匹配。

因此,将执行 **default case** 中的代码。

default:
  System.out.println("Unknown Size);

注意:Java switch 语句仅适用于


另请阅读

在我们结束之前,让我们来测试一下你对 Java switch 语句 (附带示例) 的知识!你能解决下面的挑战吗?

挑战

编写一个函数来执行基本的算术运算。

  • 给定的运算有:加法 +,减法 -,乘法 * 和除法 /
  • 返回由操作符 op 指定的对数字 num1num2 执行的运算结果。
  • 例如,如果 num1 = 5op = '+' num2 = 3,则预期输出为 **8**。
你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战