更新時(shí)間:2019年07月03日15時(shí)17分 來(lái)源:傳智教育 瀏覽次數(shù):
Java中switch條件語(yǔ)句也是一種很常用的選擇語(yǔ)句,和if條件語(yǔ)句不同,它只能針對(duì)某表達(dá)式的值做出判斷,從而決定程序執(zhí)行哪一段代碼。例如,在程序中使用數(shù)字1~7表示星期一到星期日,如果想根據(jù)某個(gè)輸入的數(shù)字來(lái)輸出對(duì)應(yīng)中文格式的星期值,可以通過(guò)下面的一段偽代碼來(lái)描述。
用于表示星期的數(shù)字: 如果等于1,則輸出星期一 如果等于2,則輸出星期二 如果等于3,則輸出星期三 如果等于4,則輸出星期四 如果等于5,則輸出星期五 如果等于6,則輸出星期六 如果等于7,則輸出星期日
對(duì)于上面一段偽代碼的描述,大家可能會(huì)立刻想到用剛學(xué)過(guò)得if… else if…else語(yǔ)句來(lái)實(shí)現(xiàn),但是由于判斷條件比較多,實(shí)現(xiàn)起來(lái)代碼過(guò)長(zhǎng),不便于閱讀。Java中提供了一種switch語(yǔ)句來(lái)實(shí)現(xiàn)這種需求,在 switch語(yǔ)句中使用 switch關(guān)鍵字來(lái)描述一個(gè)表達(dá)式,使用case關(guān)鍵字來(lái)描述和表達(dá)式結(jié)果比較的目標(biāo)值,當(dāng)表達(dá)式的值和某個(gè)目標(biāo)值匹配時(shí),會(huì)執(zhí)行對(duì)應(yīng)case下的語(yǔ)句。具體實(shí)現(xiàn)偽代碼如下:
switch(用于表示星期的數(shù)字){ case 1: 輸出星期一; break; case 2: 輸出星期二; break; Case 3: 輸出星期三; break; case 4: 輸出星期四; break; case 5: 輸出星期五; break; case 6: 輸出星期六; break; case 7: 輸出星期日; break }
上面改寫(xiě)后的偽代碼便描述了 switch語(yǔ)句的基本語(yǔ)法格式,具體如下:
switch(表達(dá)式){ case 目標(biāo)值1: 執(zhí)行語(yǔ)句 1 break; case目標(biāo)值 2: 執(zhí)行語(yǔ)句 2 break; · · · case目標(biāo)值n: 執(zhí)行語(yǔ)句n break; default: 執(zhí)行語(yǔ)句 n+1 break; }
在上面的格式中, switch語(yǔ)句將表達(dá)式的值與每個(gè)case中的目標(biāo)值進(jìn)行匹配,如果找到了匹配的值,會(huì)執(zhí)行對(duì)應(yīng)case后的語(yǔ)句,如果沒(méi)找到任何匹配的值,就會(huì)執(zhí)行 default后的語(yǔ)句。 switch語(yǔ)句中的 break關(guān)鍵字以后再具體介紹,此處,初學(xué)者只需要知道 break的作用是跳出 switch語(yǔ)句即可。
需要注意的是,在 switch語(yǔ)句中的表達(dá)式只能是byte、short、char、int類型的值,如果傳入其他類型的值,程序會(huì)報(bào)錯(cuò)。但上述說(shuō)法并不嚴(yán)謹(jǐn),實(shí)際上在JDK5.0中引入的新特性enum枚舉也可以作為 switch語(yǔ)句表達(dá)式的值。在JDK7.0中也引入了新特性,switch語(yǔ)句可以接收一個(gè) String類型的值。關(guān)于這兩個(gè)新特性此處不便進(jìn)行詳細(xì)講解,感興趣的同學(xué)可以通過(guò)查閱官方資料進(jìn)行自學(xué)。接下來(lái)通過(guò)一個(gè)案例演示根據(jù)數(shù)字來(lái)輸出中文格式的星期,例如:Example10.java。
public class Examplel0{ public static void main(String[] args){ int week=5; switch(week){ 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; case 7: system.out.println("星期日"); break; default: system.out.println("輸入法人數(shù)字不確定"); break; } } }
在使用 switch語(yǔ)句的過(guò)程中,如果多個(gè)case條件后面的執(zhí)行語(yǔ)句是一樣的,則該執(zhí)行語(yǔ)句只需書(shū)寫(xiě)一次即可,這是一種簡(jiǎn)寫(xiě)的方式。例如,要判斷一周中的某一天是否為工作日,同樣使用數(shù)字1~7來(lái)表示星期一到星期日,當(dāng)輸入的數(shù)字為1、2、3、4、5時(shí)就視為工作日,否則就視為休息日。接下來(lái)通過(guò)一個(gè)案例來(lái)實(shí)現(xiàn)上面描述的情況,如下面所示。案例:Example11.java。
public class Examplel0{ public static void main(String[] args){ int week=5; switch(week){ case 1: case 2: case 3: case 4: case 5: //當(dāng)week滿足值1、2、3、4、5中任意一個(gè)時(shí),處理方式相同 system.out.println("今天是工作日"); break; case 6: case 7: //當(dāng)week滿足值6、7中任意一個(gè)時(shí),處理方式相同 system.out.println("今天是休息日"); break; } } }
以上我們介紹了,java中上午switch條件語(yǔ)句的用法,如果您在學(xué)習(xí)java過(guò)程中還有其他問(wèn)題,您可以點(diǎn)擊“java視頻教程”免費(fèi)下載java視頻教程,也可以點(diǎn)擊咨詢按鈕,獲得幫助。
猜你喜歡:
北京校區(qū)