官术网_书友最值得收藏!

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變量的值。

主站蜘蛛池模板: 舞钢市| 辉南县| 镇雄县| 合山市| 安图县| 尚义县| 启东市| 邓州市| 吴忠市| 文水县| 泰安市| 波密县| 中宁县| 山东| 盐山县| 平塘县| 临沧市| 乐都县| 新巴尔虎左旗| 上蔡县| 怀远县| 额尔古纳市| 永宁县| 西宁市| 平利县| 固始县| 化隆| 嘉义市| 古浪县| 邵阳市| 毕节市| 郴州市| 锡林浩特市| 比如县| 鹤山市| 阿拉善盟| 梁河县| 蚌埠市| 自贡市| 金坛市| 峨眉山市|