switch选择结构

switch多选择结构

  • 注意【break】的使用

 package struct;
 ​
 /**
  * @author IT_Jay
  * @date 2021/12/12 15:42
  */
 ​
 public class Demo06 {
     public static void main(String[] args) {
         char grade = 'C';
         //case穿透现象,需要加break
         //switch匹配一个具体的值
         switch (grade){
             case 'A':
                 System.out.println("优秀!");
             case 'B':
                 System.out.println("良好!");
             case 'C':
                 System.out.println("合格!");
             case 'D':
                 System.out.println("不合格!");
             default:
                 System.out.println("未知等级!");
        }
    }
 }

switch选择结构

 

 

 package struct;
 ​
 /**
  * @author IT_Jay
  * @date 2021/12/12 15:42
  */
 ​
 public class Demo06 {
     public static void main(String[] args) {
         char grade = 'C';
         //case穿透现象,需要加break
         //switch匹配一个具体的值
         switch (grade){
             case 'A':
                 System.out.println("优秀!");
                 break;
             case 'B':
                 System.out.println("良好!");
                 break;
             case 'C':
                 System.out.println("合格!");
             case 'D':
                 System.out.println("不合格!");
                 break;
             default:
                 System.out.println("未知等级!");
        }
    }
 }

switch选择结构

 

 

 

switch支持字符串String类型了(JDK7新特性)

 package struct;
 ​
 /**
  * @author IT_Jay
  * @date 2021/12/12 16:30
  */
 ​
 public class Demo07 {
     public static void main(String[] args) {
         String name = "IT_Jay";
         //JDK的新特性,表达式结果可以是字符串!!
         //字符的本质还是数字
         //反编译 java--class(字节码文件)     IDEA可实现反编译
         switch (name){
             case "帅小伙":
                 System.out.println("帅小伙");
                 break;
             case "IT_Jay":
                 System.out.println("IT_Jay");
                 break;
             default:
                 System.out.println("未匹配到!");
        }
    }
 }

switch选择结构

 

 

IDEA实现反编译

  • 打开项目结构【File】菜单下【Project Structure】

switch选择结构

 

 

  • CV框中路径,在文件管理器中打开

switch选择结构

 

 

switch选择结构

 

 

  • 打开发现为乱码,直接拖拽(剪切)到IDEA是会被拒绝的

switch选择结构

 

 

  • 此时可以右击文件选择【Open In】—>【Explorer】,在文件夹中打开,将上面的Demo07.class 文件拖拽进来

switch选择结构

 

 

switch选择结构

 

 

  • 回到IDEA,可以看到【Demo07.class】已经在包【struct】下了,双击打开,即可查看源码

switch选择结构

 

 

源码:
 //
 // Source code recreated from a .class file by IntelliJ IDEA
 // (powered by FernFlower decompiler)
 //
 ​
 package struct;
 ​
 public class Demo07 {
     public Demo07() {
    }
 ​
     public static void main(String[] args) {
         String name = "IT_Jay";
         byte var3 = -1;
         switch(name.hashCode()) {
         case -2124559122:
             if (name.equals("IT_Jay")) {
                 var3 = 1;
            }
             break;
         case 23881135:
             if (name.equals("帅小伙")) {
                 var3 = 0;
            }
        }
 ​
         switch(var3) {
         case 0:
             System.out.println("帅小伙");
             break;
         case 1:
             System.out.println("IT_Jay");
             break;
         default:
             System.out.println("为匹配到!");
        }
 ​
    }
 }

 

上一篇:(自我整理)学习java第三天


下一篇:Switch 语句贵阳昆明