Switch多选择结构

  • 多选择结构还有一个实现方式就是switch case语句

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

  • Switch语句中的变量类型可以是:

    • byte,short,int或char

    • 从Java SE7开始,switch支持字符串String类型

    • 同时case标签必须为字符串常量或字面量

switch(expression){
    case value:
        //语句
        break;//可选
            //你可以编写任意数量的case语句
    default://可选
        //语句
}
 1 package Day07;
 2 
 3 import java.util.Scanner;
 4 
 5 public class Java07_08 {
 6     public static void main(String[] args) {
 7         //case穿透   switch匹配一个具体的值
 8         Scanner scanner=new Scanner(System.in);
 9         System.out.println("请输入等级:");
10         String grade="0";
11         scanner.hasNext();
12         switch(scanner.next()){
13             case "A":
14                 System.out.println("优秀");
15                 break;
16             case "B":
17                 System.out.println("良好");
18                 break;
19             case "C":
20                 System.out.println("及格");
21                 break;
22             case"D":
23                 System.out.println("不及格");
24                 break;
25             default:
26                 System.out.println("非法成绩");
27                 break;
28         }
29     }
30 }

 

 

反编译(Java07_08为例)

Java----class(字节码文件)----反编译(IDEA)

选择project Structure,找到最下方的文件地址->复制地址,找到文件夹打开,可以看到我们的class文件

 

 

 

2.  打开IDEA project文件夹(show in Explorer)

 

 3. 把对应的.class文件copy到.java文件夹内,双击打开自动生成的01文件,即可得到反编译代码

 

 

 1 //
 2 // Source code recreated from a .class file by IntelliJ IDEA
 3 // (powered by FernFlower decompiler)
 4 //
 5 
 6 package Day07;
 7 
 8 import java.util.Scanner;
 9 
10 public class Java07_08 {
11     public Java07_08() {
12     }
13 
14     public static void main(String[] args) {
15         Scanner scanner = new Scanner(System.in);
16         System.out.println("请输入等级:");
17         String grade = "0";
18         scanner.hasNext();
19         String var3 = scanner.next();
20         byte var4 = -1;
21         switch(var3.hashCode()) {
22         case 65:
23             if (var3.equals("A")) {
24                 var4 = 0;
25             }
26             break;
27         case 66:
28             if (var3.equals("B")) {
29                 var4 = 1;
30             }
31             break;
32         case 67:
33             if (var3.equals("C")) {
34                 var4 = 2;
35             }
36             break;
37         case 68:
38             if (var3.equals("D")) {
39                 var4 = 3;
40             }
41         }
42 
43         switch(var4) {
44         case 0:
45             System.out.println("优秀");
46             break;
47         case 1:
48             System.out.println("良好");
49             break;
50         case 2:
51             System.out.println("及格");
52             break;
53         case 3:
54             System.out.println("不及格");
55             break;
56         default:
57             System.out.println("非法成绩");
58         }
59 
60     }
61 }