Java 中的 switch case 语句是什么?如何使用它?


switch 语句允许将变量与值的列表进行相等性测试。每个值称为一个 case,系统会检查被切换的变量是否与每个 case 匹配。

语法

switch(expression) {
   case value :
      // Statements
      break;
   case value :
      // Statements
      break;
   // You can have any number of case statements.
   default :
      // Statements
}

switch 语句遵循以下规则:

  • switch 语句中使用的变量只能是整数、可转换为整数的类型(byte、short、char)、字符串和枚举。
  • switch 语句中可以包含任意数量的 case 语句。每个 case 后面跟着要比较的值和一个冒号。
  • case 的值必须与 switch 中变量的数据类型相同,并且必须是常量或字面量。
  • 当被切换的变量等于某个 case 时,该 case 后面的语句将执行,直到遇到 break 语句。
  • 遇到 break 语句时,switch 语句将终止,控制流跳转到 switch 语句后的下一行。
  • 并非每个 case 都需要包含 break。如果没有 break,控制流将继续向下执行到后续的 case,直到遇到 break。
  • switch 语句可以有一个可选的 default case,它必须出现在 switch 的末尾。当没有一个 case 为 true 时,可以使用 default case 执行任务。default case 不需要 break。


示例

public class Test {
   public static void main(String args[]) {
      // char grade = args[0].charAt(0);
      char grade = 'C';
      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 C

更新于:2020年2月25日

343 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告