亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么我們需要一個接一個的案例陳述?

為什么我們需要一個接一個的案例陳述?

冉冉說 2019-06-24 09:40:42
為什么我們需要一個接一個的案例陳述?為什么編譯器不自動在開關中的每個代碼塊之后放置中斷語句?是出于歷史原因嗎?何時要執行多個代碼塊?
查看完整描述

3 回答

?
茅侃侃

TA貢獻1842條經驗 獲得超22個贊

有時,將多個案例與相同的代碼塊關聯起來是有幫助的,例如

case 'A':case 'B':case 'C':
    doSomething();
    break;case 'D':case 'E':
    doSomethingElse();
    break;

等等。只是個例子。

在我的經驗中,“失敗”并在一種情況下執行多個代碼塊通常是不好的風格,但在某些情況下可能會使用它。


查看完整回答
反對 回復 2019-06-24
?
人到中年有點甜

TA貢獻1895條經驗 獲得超7個贊

歷史,是因為case本質上定義了label,也稱為目標點一種goto打電話。Switch語句及其相關案例實際上只是表示具有多個潛在入口點進入代碼流的多向分支。

盡管如此,人們幾乎無數次地注意到,break幾乎所有的默認行為都是您希望在每一種情況結束時的默認行為。


查看完整回答
反對 回復 2019-06-24
?
慕容708150

TA貢獻1831條經驗 獲得超4個贊

Java來自C,這是C的語法。

有時候,您希望多個CASE語句只有一個執行路徑。下面是一個例子,可以告訴你一個月里有多少天。

class SwitchDemo2 {
    public static void main(String[] args) {

        int month = 2;
        int year = 2000;
        int numDays = 0;

        switch (month) {
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                numDays = 31;
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                numDays = 30;
                break;
            case 2:
                if ( ((year % 4 == 0) && !(year % 100 == 0))
                     || (year % 400 == 0) )
                    numDays = 29;
                else
                    numDays = 28;
                break;
            default:
                System.out.println("Invalid month.");
                break;
        }
        System.out.println("Number of Days = " + numDays);
    }}


查看完整回答
反對 回復 2019-06-24
  • 3 回答
  • 0 關注
  • 424 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號