Java中switch case的使用

switch case语句

switch case用来判断一个变量与一系列值中某个值是否相等,每个值称为一个分支

switch case规则:

  • switch语句中变量类型可以是:byte、short、int、char。从Java SE 7开始,switch支持String类型,同时case必须为字符串常量

  • switch语句可以拥有多个case,每个case后面跟一个要比较的值和冒号

  • case语句中的值的数据类型必须与变量的数据类型相同

  • 当变量的值与case语句的值相等,case语句之后的语句开始执行,直到出现break语句才会跳出switch

  • 当遇到break时,switch终止。程序跳转到switch后面的语句执行。case不必须要包含break。如果没有break出现,程序会继续执行下一条case,直到出现break

  • switch可以包含一个default分支,该分支是switch的最后一个分支,该分支可以在任何位置,但建议写在最后。default在没有case的值和变量相等时执行。default不需要break。

语法:

switch(expression){
   case value :
       //语句
       break; //可选
   case value :
       //语句
       break; //可选
   //可以有任意数量的case
   default: //可选
       //语句
}

switch case执行时,一定会先进行匹配。匹配成功返回当前case,再根据是否有break,判断是否需要继续输出,或者跳出判断

实例:

public class SwitchDemo01 {
   public static void main(String[] args) {
       char grade = 'C';
       switch (grade){
           case 'A':
               System.out.println("优秀");
               break;
           case 'B':
               System.out.println("良好");
               break;
           case 'C':
               System.out.println("及格");
               break;
           default:
               System.out.println("未知");
      }
       System.out.println("你的等级为:" + grade);
       //Java技术学习交流群:434587027
  }
}

以上代码编译结果如下:

及格
你的等级为:C

如果case中没有break语句,匹配成功后,从当前case开始,后续的所有case都会被输出

public class SwitchDemo01 {
   public static void main(String[] args) {
       char grade = 'A';
       switch (grade){
           case 'A':
               System.out.println("优秀");
           case 'B':
               System.out.println("良好");
           case 'C':
               System.out.println("及格");
           default:
               System.out.println("未知");
      }
       System.out.println("你的等级为:" + grade);
       //Java技术学习交流群:434587027
  }
}

以上代码编译结果如下:

优秀
良好
及格
未知
你的等级为:A

 

上一篇:第4章-选择结构程序设计


下一篇:第十二节 Java流程控制3 switch语句和反编译