1. 程式人生 > 實用技巧 >Day05_java流程控制 switch選擇結構

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("啊啊啊!");
        }

    }
}