switch

switch多选择结构

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

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

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

    • byte short int 或者char

    • 从Java SE 7开始

    • switch 支持字符串 String 类型了

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

switch(expression) {
   case value :
       //语句
       break;//可选
       //你可以有任意数量的case语句
       default ://可选
           //语句
}
package zjystudy.com.struct.selective.Switch;

public class Dome01 {
   public static void main(String[] args) {
       //case穿透 //switc 匹配一个具体的值
       char grade = 'B';

       switch (grade) {
           case 'A':
               System.out.println("优秀");
               break;
           case 'B':
               System.out.println("良好");
               break;
           case 'C':
               System.out.println("及格");
               break;
           case 'D':
               System.out.println("再接再厉");
               break;
           case 'E':
               System.out.println("挂科");
               break;
               default:
                   System.out.println("未知等级");
      }
  }
}

反编译

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

file --->ProjectStructure--->Project Settings --->Project ---> Project Compiler

output--->复制路径--->资源管理器中输入地址打开--->复制需要反编译的.class文件--->在IDEA中的package中点击右键找到Show in Explorer --->粘贴刚才复制的.class到想要放入的package中

.Java文件

package zjystudy.com.struct.selective.Switch;

public class Dome02 {
   public static void main(String[] args) {
       String name = "猫蛋儿";
       //JDK7的新特性,表达式结果可以是字符串!!!
       //字符的本质还是数字

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

       switch (name) {
           case "猫蛋儿" :
               System.out.println("猫蛋儿");
               break;
           case "二狗子" :
               System.out.println("二狗子");
               break;
               default:
                   System.out.println("不是猫猫狗狗。");
      }
  }
}

.class文件

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//

package zjystudy.com.struct.selective.Switch;

public class Dome02 {
   public Dome02() {
  }

   public static void main(String[] args) {
       String name = "猫蛋儿";
       byte var3 = -1;
       switch(name.hashCode()) {
       case 20258533:
           if (name.equals("二狗子")) {
               var3 = 1;
          }
           break;
       case 29423679:
           if (name.equals("猫蛋儿")) {
               var3 = 0;
          }
      }

       switch(var3) {
       case 0:
           System.out.println("猫蛋儿");
           break;
       case 1:
           System.out.println("二狗子");
           break;
       default:
           System.out.println("不是猫猫狗狗。");
      }

  }
}
posted @ 2020-10-14 12:12  0基础学Java  阅读(95)  评论(0)    收藏  举报