5.Switch多选择结构

Switch语句:
多选择结构还有一个实现方式就是 switch case 语句
switch case 语句判断一个变量与一系列值中的某个值是否相等,每个值称为一个分支。
switch语句中的变量类型可以是:
1.byte、short、int、或者char
2.从JavaSE 7开始 switch支持字符串String类型了,1.5开始可以是枚举,表达式结果可以是字符串。(字符本质还是数字)
3.同时case标签必须为字符串或者字面量。
 
case穿透现象switch语句会匹配一个具体的值,匹配成功返回当前case值,然后根据是否有break(终止)语句,判断是否继续输出,如果没加break语句它会全部输出,知道遇见break为止。
 
语法:
switch (expression) {
case value
//语句
break; //可选
case value
//语句
break; //可选
//你可以有任意数量的case语句
default: //可选
//语句
}
 1 package com.duan.struct;
 2 
 3 public class SwitchDemo01 {
 4     public static void main(String[] args) {
 5         //case穿透 碰见break才会停止,要不然在匹配到的语句与break之前的语句都会输出。所以每写完一个case,把break加上。
 6         //switch 匹配一个具体的值,若都不匹配的话,输出默认值
 7         char grade = 'C';
 8 
 9         switch (grade) {
10             case 'A':
11                 System.out.println("优秀");
12                 break;//可选
13             case 'B':
14                 System.out.println("良好");
15                 break;//可选
16             case 'C':
17                 System.out.println("及格");
18                 break;//可选
19             case 'D':
20                 System.out.println("再接再厉");
21                 break;//可选
22             case 'E':
23                 System.out.println("挂科");
24                 break;//可选
25             default:
26                 System.out.println("未知等级");
27         }
28     }
29 
30 
31 }
JDK7以后支持比较字符串:
 1 package com.duan.struct;
 2 
 3 public class SwitchDemo02 {
 4     public static void main(String[] args) {
 5         String name = "雷伟";
 6         //JDK7的新特性,表达式结果可以是字符串
 7         //字符的本质还是数字
 8 
 9         //反编译 java---class (字节码文件)---反编译(IDEA)
10         
11         switch (name) {
12             case "雷伟":
13                 System.out.println("雷伟");
14                 break;//记得加上
15             case "断浮":
16                 System.out.println("断浮");
17                 break;
18             default:
19                 System.out.println("还是睡觉吧!");
20         }
21     }
22 }
 
原文地址:https://www.cnblogs.com/duanfu/p/12222118.html