- Java與Android移動應用開發:技術、方法與實踐
- 曹化宇
- 437字
- 2019-12-06 15:39:16
5.3 switch語句
switch語句結構適用于只有一個條件但結果可能有多個值的情況。Java中,switch語句結構的基本應用格式如下。
switch(<表達式>) { case <值1>: <語句塊1> break; case <值2> <語句塊2> break; default: <語句塊n> break; }
switch語句結構中,<表達式>可能會產生多個值,為<值1>時執行<語句塊1>,為<值2>時執行<語句塊2>,沒有匹配的值時執行<語句塊n>。其中,可以有多個case語句,但default語句只能有一個或者零個,一般用于處理意外的數據。
請注意,每個case和default語句塊的最后都會有一個“break;”語句,其功能是終止當前代碼塊的執行,并跳出switch語句結構。
下面的代碼會通過方向的枚舉值顯示相應的信息。

可以修改變量d的值來觀察運行結果。
使用switch語句結構時,還可以利用case自動向下貫穿的功能,也就是在特定的case語句段中不使用break語句。例如,下面的代碼將計算指定年份和月份中的天數。


圖5-2 使用case語句的貫穿功能
代碼執行結果如圖5-2所示。
示例中,當month的值為1、3、5、7、8、10時,并沒有執行任何代碼,而是向下貫穿到值為12的case代碼塊。在這里,將daysOfMonth變量設置為31后,使用break語句退出switch結構。
接下來,當month的值為4、6、9、11時,也執行相似的邏輯。只有在month為2時,才會根據閏年情況設置daysOfMonth變量的值。
推薦閱讀