Java 中的 Switch 语句

java 8object oriented programmingprogramming更新于 2025/12/4 5:00:17

switch 语句允许将一个变量与一系列值进行相等性测试。每个值称为一个 case,并且针对每个 case 检查被 switch 的变量。我们先来看看语法 −

switch(expression) {
   case 值 :
   // 语句
   break; // 可选

   case 值 :
   // 语句
   break; // 可选

   // 可以有任意数量的 case 语句。
   default : // 可选
  // 语句
}

以下是 Java 中 switch 语句的适用规则 −

  • switch 语句中使用的变量只能是整数、可转换整数(byte、short、char)、字符串和枚举。

  • 一个 switch 语句中可以包含任意数量的 case 语句。每个 case 后面都跟有待比较的值和一个冒号。

  • case 的值必须与 switch 中的变量具有相同的数据类型,并且必须是常量或字面量。

  • 当被 switch 的变量等于某个 case 时,该 case 后面的语句将一直执行,直到遇到 break 语句。

  • 当遇到 break 语句时,switch 终止,控制流跳转到 switch 语句后面的下一行。

  • 并非每个 case 都需要包含 break。如果没有出现 break,控制流将继续执行后续 case,直到遇到 break。

  • switch  语句可以包含一个可选的默认 case,该 case 必须出现在 switch 语句的末尾。默认 case 可用于在所有 case 都不成立时执行任务。默认 case 中不需要 break。

现在让我们看一个例子−

示例

public class Demo {
   public static void main(String args[]) {
      char grade = 'B';
      switch(grade) {
         case 'A' :
            System.out.println("Excellent!");
            break;
         case 'B' :
         case 'C' :
            System.out.println("Well done");
            break;
         case 'D' :
            System.out.println("You passed");
         case 'F' :
            System.out.println("Better try again");
            break;
         default :
            System.out.println("Invalid grade");
      }
      System.out.println("Your grade is " + grade);
   }
}

输出

Well done
Your grade is B

相关文章