Java switch 语句


switch 语句允许将变量与其值列表进行比较。每个值称为一个 case,并且正在进行切换的变量将针对每个 case 进行检查。

语法

增强型 for 循环的语法如下:

switch(expression) {
   case value :
      // Statements
      break; // optional
   
   case value :
      // Statements
      break; // optional
   
   // You can have any number of case statements.
   default : // Optional
      // 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 的末尾。default case 可用于在没有 case 为 true 时执行任务。在 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年6月15日

265 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告