中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java不同版本的Switch語句實例分析

發布時間:2022-06-10 09:27:38 來源:億速云 閱讀:170 作者:zzz 欄目:開發技術

這篇文章主要講解了“Java不同版本的Switch語句實例分析”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Java不同版本的Switch語句實例分析”吧!

舊的Java Switch語句

switch語句將以更可讀、更簡潔的方式(并非每次)替換單個變量的if-else-if梯形圖。是的,我知道,這不是一個精確的定義。

讓我們看一個實際的例子。假設你按下了一個按鈕,并且有了特定的按鈕代碼,你需要有一些與之相關的命令。現在,您可以執行第一塊中顯示的if-else-if梯形圖,或者將其轉換為第二塊中顯示的開關表達式:

if(button == 1) {
    command = "on";
}
else if(button == 2){
    command = "off";
} 
else if(button == 3 || button == 4) {
    command = "ring";
}
else{
   throw new RuntimeException("Wrong Button Code"); 
}

switch表達式:

switch(button){
    case 1:
        command = "On";
    break;
    case 2:
        command = "off";
    break;
    case 3:
    case 4:
        command = "ring";
    break;
    default:
        throw new RuntimeException("Wrong Button Code");
}

正如你所見,這個switch即使我們減少了條件檢查,我們也必須添加很多額外的代碼,比如break語句。這就是新的Java Switch語句或表達式幫助我們的地方。與其說是一個新的,不如說是一個“更新的開關表達式”。但無論如何,讓我們看看。

新的Switch語句

在新的switch語句中,您將看到的第一件事是,您根本不必編寫break語句。要做到這一點,你必須使用箭頭->,我們在lambda中使用的箭頭,來告訴這個案例的開始。至于實際的代碼塊,可以將其設置為一行表達式,也可以在代碼塊周圍使用一個花括號。

此外,對于不同case的相同評估,您不需要多次編寫case語句,您可以用逗號分隔它們(例如,上例中的case3和case4)。

switch(button){
    case 1 ->  command = "on"; // on liner
    case 2 -> {
        // do something
        command = "off"; //  a block with curly brackets
    }
    case 3, 4 -> command = "ring"; //  case can be combined with a comma
    default -> throw new RuntimeException("Wrong Button Code");
}

看看代碼變得多么簡潔。不需要額外的中斷聲明。此外,可以在不重復關鍵字的情況下組合案例。但等等,不是這樣的。關于這個更新的Java switch語句,還有一件事。

Java Switch表達式的收益率

我們可以從switch語句中得到一個結果。簡單地說,您只能從開關塊返回特定的內容。它對switch語句使用Java13新添加的yield關鍵字。這只不過是對開關的回報。舉個例子你會更好地理解。

假設在上面的例子中,我們為每種情況都修改了命令變量。現在,我們可以直接從特定情況返回特定字符串,并將其分配給命令,而不是對同一變量進行變異。你可以同時使用“冒號大小寫”或“箭頭大小寫”。讓我們看看如何。

箭頭case ->

String command = switch(button){
    case 1 -> {
        yield "on"; 
    } 
    case 2 -> {
       yield "off";
    }
    case 3,4 ->  {  // multiple case
        yield "ring";
    }
    default -> throw new RuntimeException("Wrong Button Code");
};

冒號case:

String command = switch(button){
    case 1:
        yield "on";
        // no break should be used
    case 2:
        yield "off";
    case 3:
    case 4:
        yield "ring";
    default:
        throw new RuntimeException("Wrong Button Code");
};

使用switch時請記住這幾點:

  • 不能在一個switch語句中交替使用冒號和箭頭大小寫。

  • 從箭頭框中得出結果時,必須將其寫在花括號中。

  • 從冒號case中生成結果時,不要使用break關鍵字。

  • 建議在使用yield時使用箭頭框。

感謝各位的閱讀,以上就是“Java不同版本的Switch語句實例分析”的內容了,經過本文的學習后,相信大家對Java不同版本的Switch語句實例分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东光县| 广安市| 东乌| 巫溪县| 安塞县| 眉山市| 大安市| 肥西县| 诏安县| 疏勒县| 咸阳市| 怀仁县| 佳木斯市| 綦江县| 广州市| 龙海市| 定安县| 海原县| 九寨沟县| 许昌县| 岱山县| 莱阳市| 台山市| 永康市| 琼海市| 旺苍县| 兴国县| 文安县| 济源市| 卢湾区| 肇州县| 库车县| 德州市| 保德县| 镇平县| 商城县| 庆城县| 平定县| 怀远县| 乐陵市| 嘉祥县|