Java中Switch的使用方法及新特性
一、switch語(yǔ)句的適用場(chǎng)景
在分支結(jié)構(gòu)中,我們除了使用if-else或者是if-else if之外,當(dāng)分支量過(guò)大的時(shí)候,我們即可選擇使用switch語(yǔ)句進(jìn)行選擇。
二、switch語(yǔ)句的使用方法
當(dāng)我們需要實(shí)現(xiàn)輸入 1 1 1的時(shí)候打印出Hello,輸入 2 2 2的時(shí)候打印出World,輸入其他數(shù)字的時(shí)候打印出error。
在switch語(yǔ)法中,switch()圓括號(hào)中寫(xiě)入判斷的數(shù)字,當(dāng)case語(yǔ)句的值等于圓括號(hào)內(nèi)的值時(shí),將執(zhí)行相應(yīng)代碼塊的代碼。
public class SwitchDemo { public static void main(String[] args){ int choose=1; switch(choose){ case 1:System.out.println("Hello");break; case 2:System.out.println("World");break; default:System.out.println("error"); } } }
當(dāng)每段case語(yǔ)句后需要跟一個(gè)break語(yǔ)句結(jié)束,否則將繼續(xù)進(jìn)行下一個(gè)case語(yǔ)句內(nèi)。且default語(yǔ)句不能直接觸發(fā),當(dāng)switch內(nèi)的值與case值均不匹配時(shí),將會(huì)執(zhí)行default內(nèi)的代碼語(yǔ)句。
三、Java語(yǔ)言中switch的新特性
在Java7以前,switch內(nèi)的值僅支持byte、short、int、char類(lèi)型或者枚舉。往后的版本中引入了對(duì)string類(lèi)型的switch判斷。代碼如下:
public class SwitchDemo { public static void main(String[] args){ string choose="one"; switch(choose){ case "one":System.out.println("Hello");break; case "two":System.out.println("World");break; default:System.out.println("error"); } } }
四、switch 語(yǔ)句遵從規(guī)則:
①表達(dá)式必須計(jì)算出一個(gè) char 、byte、short、int、string 類(lèi)型等數(shù)據(jù),并且它必須用括號(hào)括住。
②值1,...,值N 必須與表達(dá)式的值具有相同的數(shù)據(jù)類(lèi)型,當(dāng)表達(dá)式的值與 case 語(yǔ)句的值相匹配時(shí),執(zhí)行該 case語(yǔ)句中的語(yǔ)句(每個(gè) case 語(yǔ)句都順序執(zhí)行)
③ 關(guān)鍵字break是可選的,break 語(yǔ)句終止整個(gè) switch 語(yǔ)句。若 break 語(yǔ)句不存在,下一個(gè)case 語(yǔ)句將被執(zhí)行。
④ 默認(rèn)情況(default)是可選的,它用來(lái)指定情況都不為真時(shí)的操作,默認(rèn)情況總是出現(xiàn)在switch 語(yǔ)句塊的最后。
總結(jié)
到此這篇關(guān)于Java中Switch的使用方法及新特性的文章就介紹到這了,更多相關(guān)Java Switch用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring?Boot?+?EasyExcel?+?SqlServer?進(jìn)行批量處理數(shù)據(jù)的高效方法
在日常開(kāi)發(fā)和工作中,我們可能要根據(jù)用戶上傳的文件做一系列的處理,本篇文章就以Excel表格文件為例,主要介紹了Spring?Boot?+?EasyExcel?+?SqlServer?進(jìn)行批量處理數(shù)據(jù)的高效方法,需要的朋友可以參考下2024-06-06springboot2+es7使用RestHighLevelClient的示例代碼
本文主要介紹了springboot2+es7使用RestHighLevelClient的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07Springboot MongoDB實(shí)現(xiàn)自增序列的項(xiàng)目實(shí)踐
在某些特定的業(yè)務(wù)場(chǎng)景下,會(huì)需要使用自增的序列來(lái)維護(hù)數(shù)據(jù),本文主要介紹了Springboot MongoDB實(shí)現(xiàn)自增序列的項(xiàng)目實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07Java中Set&List的迭代器實(shí)現(xiàn)步驟解析
這篇文章主要介紹了Java中Set&List的迭代器實(shí)現(xiàn)步驟解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10Java判斷范圍型的數(shù)據(jù)是否存在重疊的方法
遇到了個(gè)問(wèn)題,同一天可以輸入多個(gè)時(shí)間段,但是每個(gè)時(shí)間段的時(shí)間不能出現(xiàn)重疊,這不就是判斷數(shù)據(jù)返回是否有重疊的變種嗎,所以本文給大家介紹了Java判斷范圍型的數(shù)據(jù)是否存在重疊的方法,需要的朋友可以參考下2024-07-07Java IO創(chuàng)建目錄和文件實(shí)例代碼
本篇文章給大家分享了Java IO創(chuàng)建目錄和文件的實(shí)例代碼,過(guò)程很簡(jiǎn)單,大家可以測(cè)試參考下。2018-02-02SpringBoot2.0整合Shiro框架實(shí)現(xiàn)用戶權(quán)限管理的示例
這篇文章主要介紹了SpringBoot2.0整合Shiro框架實(shí)現(xiàn)用戶權(quán)限管理的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08MyBatis學(xué)習(xí)教程(八)-Mybatis3.x與Spring4.x整合圖文詳解
這篇文章主要介紹了MyBatis學(xué)習(xí)教程(八)-Mybatis3.x與Spring4.x整合圖文詳解的相關(guān)資料,需要的朋友可以參考下2016-05-05