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