Day05_java流程控制 switch选择结构

switch选择结构

switch多选择结构

  • 多选择结构还有一个实现方式就是switch case语句。
  • switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
  • switch 语句中的变量类型可以是:
    • byte、short、int或者char。
    • 从Java SE7开始
    • switch支持字符串String类型了
    • 同时case标签必须为字符串常量或字面量。
switch(espression){
	case value:
		//语句
		break;//可选
	case value:
		//语句
		break;//可选
	//你可以有任意数量的case语句
	default://可选
		//语句
}
package com.lemon.struct;

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;//可选
            case 'D':
                System.out.println("再接再厉");
                break;
            case 'E':
                System.out.println("挂科");
                break;
            default:
                System.out.println("未知等级");
        }
    }
}
package com.lemon.struct;

public class SwitchDemo02 {
    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("啊啊啊!");

        }
    }
}

反编译








反编译代码如下

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

package com.lemon.struct;

public class SwitchDemo02 {
    public SwitchDemo02() {
    }

    public static void main(String[] args) {
        String name = "呼呼";
        byte var3 = -1;
        switch(name.hashCode()) {
        case 692096:
            if (name.equals("呼呼")) {
                var3 = 1;
            }
            break;
        case 694528:
            if (name.equals("哈哈")) {
                var3 = 0;
            }
        }

        switch(var3) {
        case 0:
            System.out.println("哈哈");
            break;
        case 1:
            System.out.println("呼呼");
            break;
        default:
            System.out.println("啊啊啊!");
        }

    }
}
原文地址:https://www.cnblogs.com/lemonlover/p/13999442.html