Java中switch的三種用法方式小結

從java14開始, switch語句有瞭一個很大的調整, 這就讓swicth語句有瞭更多的操作和選擇,在代碼上,更加的簡便靈活.

  • switch 標準方式
  • switch – > 用法:
  • switch yield 用法:

標準方式

int dayOfWeek = 2;
switch (dayOfWeek) {
    case 1:
        System.out.println("星期一");
    case 2:
        System.out.println("星期二");
    case 3:
        System.out.println("星期三");
    case 4:
        System.out.println("星期四");
    case 5:
        System.out.println("星期五");
    case 6:
        System.out.println("星期六");
    default:
        System.out.println("星期日");
}

 輸出如下:

星期二
星期三
星期四
星期五
星期六
星期日

從輸出結果發現case代碼塊被穿透瞭,使用break防止case代碼執行穿透,代碼如下:

int dayOfWeek = 2;
switch (dayOfWeek) {
    case 1:
        System.out.println("星期一");
        break;
    case 2:
        System.out.println("星期二");
        break;
    case 3:
        System.out.println("星期三");
        break;
    case 4:
        System.out.println("星期四");
        break;
    case 5:
        System.out.println("星期五");
        break;
    case 6:
        System.out.println("星期六");
        break;
    default:
        System.out.println("星期日");
        break;
}

輸出如下:

星期二

switch – > 用法:

使用switch標準方式編寫代碼太多的break造成代碼冗餘可讀性不高 可以借助函數式接口和lambda表達式簡化書寫

代碼如下:

int dayOfWeek = 2;
switch (dayOfWeek) {
    case 1 -> System.out.println("星期一");
    case 2 -> System.out.println("星期二");
    case 3 -> System.out.println("星期三");
    case 4 -> System.out.println("星期四");
    case 5 -> System.out.println("星期五");
    case 6 -> System.out.println("星期六");
    default -> System.out.println("星期日");
}

輸出結果如下:

星期二

switch yield 用法:返回值

先來開一段標準模式的代碼:

String weekday = null;
int dayOfWeek = 2;
switch (dayOfWeek) {
    case 1:
        weekday = "星期一";
        break;
    case 2:
        weekday = "星期二";
        break;
    case 3:
        weekday = "星期三";
        break;
    case 4:
        weekday = "星期四";
        break;
    case 5:
        weekday = "星期五";
        break;
    case 6:
        weekday = "星期六";
        break;
    default:
        weekday = "星期日";
        break;
}
System.out.println(weekday);

輸出結果如下:

星期二

從上面代碼不難看出我們通過條件匹配為變量賦值,再來看看switch yield的簡化寫法

int dayOfWeek = 2;
String weekday = switch (dayOfWeek) {
    case 1:
        yield "星期一";
    case 2:
        yield "星期二";
    case 3:
        yield "星期三";
    case 4:
        yield "星期四";
    case 5:
        yield "星期五";
    case 6:
        yield "星期六";
    default:
        yield "星期日";
};
System.out.println(weekday);

輸出結果:

星期二

到此這篇關於Java中switch的三種用法方式小結的文章就介紹到這瞭,更多相關Java switch用法內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: