教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Java中switch條件語句的用法

更新時間: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視頻教程,也可以點擊咨詢按鈕,獲得幫助。



猜你喜歡:

Java視頻教程:零基礎(chǔ)入門到精通

Java算法之冒泡排序【超詳細】

Java中switch條件語句的用法

傳智教育java開發(fā)培訓(xùn)課程

0 分享到:
和我們在線交談!