當前位置:商標查詢大全網 - 彩票查詢 - 如何在Java中使用switch語句

如何在Java中使用switch語句

switch語句的格式:

開關(整數或字符變量)

{

case變量的可能值是1:

分支壹;

打破;

case變量的可能值是2:

分支2;

打破;

case變量的可能值是3:

分支三;

打破;

...

默認值:

最後的分支;

}

在switch的語法中,我們要學習四個關鍵詞:switch、case、break和default。

在線路開關中,變量只能是整數或字符。程序先讀取這個變量的值,然後在每個“案例”中找出哪個值等於這個變量。如果相等,即使條件成立,程序也會執行相應的分支,直到遇到break或switch語句的結尾。

知道switch,case,break,default的意思,也有助於理解前面的壹切。它們是:開關、情況、中斷和默認(值)。那麽壹句話的語句就是:根據開關值的不同,執行不同的情況,直到遇到中斷;如果所有條件都不滿足開關值,則執行默認分支。

最後說壹下switch中非常重要的幾個點。

第壹,在switch(整型或字符型變量)中,變量的類型如本文所標註,只能是整型和字符型。它們包含int,char。當然,可以使用無符號類型或不同長度的整數(無符號int、short、無符號char)。此外,枚舉類型也由整數或字符類型在內部實現。所以沒關系。實數(浮點數)不起作用,例如:

浮點數a = 0.123;

開關(a) //錯誤!不是整數或字符類型變量。

{

....

}

第二,case後面可以跟壹個直接的常量值,比如例子中的1,2,3,4,或者壹個常量計算公式,比如2+2,但是不能跟壹個變量或者帶變量的表達式,比如a * 2。當然不能是實數,比如4.1,或者2.0/2。

開關(模板)

{

案例2-1: //正確。

...

案例a-2: //錯誤

...

案例2.0: //錯誤

...

}

此外,在case和常量值之後,需要壹個冒號。請註意不要忽視它。

第三,破的作用。

Break使程序在執行完選定的分支(即由switch連接的壹對{}後)後,跳出整個switch語句,完成switch。如果沒有這個中斷,程序將繼續前進到下壹個分支,直到遇到下壹個中斷或切換完成。

例如,假設程序現在進入case 1:中的分支,但case 1中的分支這次沒有斷開:

案例1:

System.out.println("妳是通過搜索引擎來到這個網站的。");

案例二:

System.out.println("妳是通過朋友介紹來到這個網站的。");

然後,程序輸出“妳通過搜索引擎來到這個網站。”之後會繼續輸出案例2中的“妳是通過朋友介紹來到這個網站的”。。

請將上例中的代碼片段更改為以下內容(紅色部分,即通過添加//使所有break無效。):

...

案例1:

System.out.println("妳是通過搜索引擎來到這個網站的。");

//break;

案例二:

System.out.println("妳是通過朋友介紹來到這個網站的。");

//break;

案例三:

System.out.println("妳是通過報紙雜誌來到這個網站的。");

//break;

案例4:

System.out.println("妳是通過其他途徑來到這個網站的。");

//break;

默認值:

System.out.println("錯誤的選擇!請輸入壹個1 ~ 4的數字進行選擇。");

...

跑完會是什麽結果?請試壹試,然後在作業裏回答我。

第四,default是可選的,我們已經說過它的用法,如果沒有default,程序在switch語句範圍內什麽都不做,找不到匹配的case分支後直接完成切換。也可以註釋掉示例中的默認代碼,然後試用,選擇時輸入5。

...

//默認值:

//cout & lt;& lt“錯誤的選擇!請輸入壹個1 ~ 4的數字進行選擇。"& lt& ltendl

...

第五,必要時可以在每種情況下使用{},顯式生成獨立的復合語句。

之前,當我們談到如果...語句等過程控制語句,我們都用{}生成復合語句:

如果(條件)

{

分支壹;

}

除非分支中只有壹個句子,否則這裏不需要花括號{}。但是,在switch的每個case語句中,我們沒有在語法格式中標記{}。請看:

開關(整數或字符變量)

{

case變量的可能值是1:

分支壹;

打破;

case變量的可能值是2:

....

}

壹般教科書上只說{ 0 }可以省略格分支,但這裏我要提醒大家,任何情況下都不能省略{ 0 }格分支。例如,如果您想在案例中定義壹個變量:

開關(模板)

{

案例1:

int a = 2;//錯誤。由於case的範圍不明確,編譯器無法在此定義變量。

...

案例二:

...

}

在這種情況下,添加{}可以解決問題。

開關(模板)

{

案例1:

{

int a = 2;//正確,變量A明確限定在當前的{}範圍內。

...

}

案例二:

...

}