2018.1.4日記

對於上面一段僞代碼的描述,大家可能會立刻想到用剛學過得if…else if…else語句來實現,但是由於判斷條件比較多,實現起來代碼過長,不便於閱讀。Java中提供了一種switch語句來實現這種需求,在switch語句中使用switch關鍵字來描述一個表達式,使用case關鍵字來描述和表達式結果比較的目標值,當表達式的值和某個目標值匹配時,會執行對應case下的語句。具體實現代碼如下:

switch(用於表示星期的數字) {

    case 1 :

        輸出星期一;

        break;

    case 2 :

        輸出星期二;

        break;

    case 3 :

        輸出星期三

        break;

    case 4 :

        輸出星期四;

        break;

    case 5 :

        輸出星期五;

        break;

    case 6:

        輸出星期六;

        break;

    case 7:

        輸出星期天;

        break;

}

 

上面改寫後的僞代碼便描述了switch語句的基本語法格式,具體如下:

switch (表達式){

case 目標值1:

執行語句1

break;

case 目標值2:

執行語句2

break;

......

case 目標值n:

執行語句n

break;

default:

執行語句n+1

break;

}

在上面的格式中,switch語句將表達式的值與每個case中的目標值進行匹配,如果找到了匹配的值,會執行對應case後的語句,如果沒找到任何匹配的值,就會執行default後的語句。switch語句中的break關鍵字將在後面的做具體介紹,此處,我們只需要知道break的作用是跳出switch語句即可。

需要注意的是,在switch語句中的表達式只能是byteshortcharint類型的值,如果傳入其它類型的值,程序會報錯。但上述說法並不嚴謹,實際上在JDK5.0中引入的新特性enum枚舉也可以作爲switch語句表達式的值,在JDK7.0中也引入了新特性,switch語句可以接收一個String類型的值。

發佈了38 篇原創文章 · 獲贊 0 · 訪問量 4250
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章