更新時間:2020-11-16 17:34:20 來源:動力節點 瀏覽1772次
我們其實在很早就已經學習了if語句,然而,我們會發現if語句在多重嵌套下,會顯得非常凌亂,代碼的可讀性非常差,所以就有了取而代之的switch語句,它和if語句能實現相同的功能,只不過在多重判斷下,運用switch-case語句會使代碼更加的簡潔。本文我們就來探究switch-case 語句用法。
switch-case 語句實際上與 if 語句是相似的,它是根據語句變量或表達式的值不同分別執行不同命令的條件語句,其基本調用格式如下:
switch 表達式
case 值 1
表達式 1
case 值 2
表達式 2
case 值 3
表達式 3
…
otherwise
表達式 n
end
運行 switch-case 語句時,首先計算表達式的值,然后比較計算結果與 case 語句中的值。若計算結果與 case 語句中的某一個值相對應,則執行對應的語句;若都不滿足 case 語句中的值,那么將執行 otherwise 語句的表達式。
當switch后面括號內“表達式”的值與某個case后面的“常量表達式”的值相等時,就執行此case后面的語句。執行完一個case后面的語句后,流程控制轉移到下一個case繼續執行。如果你只想執行這一個case語句,不想執行其他case,那么就需要在這個case語句后面加上break,跳出switch語句。正常我們都希望只執行一個符合條件的case語句,所以一般后面都會加上break,以便執行完成后,直接跳出switch語句。
下面我們來看一個 switch-case 語句的實例:
public class Test7
{
public static void main(String[] args)
{
int i=5;
switch(i)
{
case 1:
System.out.println("one");
case 10:
System.out.println("ten");
case 5:
System.out.println("five");
case 3:
System.out.println("three");
default:
System.out.println("other");
}
}
}
è 結果是:
five
three
other
switch(表達式)
{
case 常量表達式1:語句1;
....
case 常量表達式2:語句2;
default:語句;
}
switch的用法是判斷case后面的表達式和switch后面的表達式是否相匹配,一旦case匹配,就會順序執行后面的程序代碼,而不管后面的case是否匹配,直到遇見break。
如上所給的代碼中,由于i等于5,和前面的兩個case都不匹配,所以結果中并沒有one和ten的。而第三個case中的5就和switch中i的值匹配,因此就會打印出five的,由于沒有遇到break所以就會順序執行很面的代碼,打印出three和other
流程控制中的switch-case語句,一直 switch-case 語句的重點內容,首先從原理上來闡述這個問題:
switch(表達式)
{ case 常量表達式1:語句1;
....
case 常量表達式2:語句2;
default:語句;
}
default就是如果沒有符合的case就執行它,default并不是必須的。
2.case后的語句可以不用大括號. case 后面必須是常量表達式constant expressions, 錯誤表示如: case x 。
3.switch語句的判斷條件可以接受int,byte,char,short, enum不能接受其他類型。
4.一旦case匹配,就會順序執行后面的程序代碼,而不管后面的case是否匹配,直到遇見break,利用這一特性可以讓好幾個case執行統一語句。
標準型(case后面都有break語句):
int i=3;
switch(i)
{
case 1:
System.out.println(1);
break;
case 2:
System.out.println(2);
break;
case 3:
System.out.println(3);
break;
default:
System.out.println("default");
break;
}
輸出結果:3
以上就是對 switch-case 語句用法的深入探究,我們通過對幾個實例的分析,很容易得出 switch-case 語句基本用法。但是,有些奧妙之處還是需要我們透過例子,耐心去體會。本站的Java SE教程中有對大多數Java控制語句用法的實例分析,想深入學習提升自己的小伙伴可以去觀看學習。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習