抓住幾個重點:
(1)switch語句又叫開關語句,具有開關控制的效果;
(2)switch(XXX)這個XXX隻能是int、char、枚舉和String(jdk1.7後增加的);
(3)每個case語句後要加break;,不然會從比對的case處開始繼續執行下一個case;
(4)最後要加上default代碼塊,當無比對的case時,執行該default語句塊。
以String類型為例:
String str = "Hello";
switch(str){
case "Hello":{
System.out.println("Hello");
}
case "hello":{
System.out.println("hello");
break;
}
default:{
System.out.println("default");
}
}
結果:
Hello
hello
第一個case語句後沒有寫break;是以第二個case也被執行,輸出結果有兩條。
補充一:switch語句是否完全可以使用if else if else多選擇結構來代替?如果是,為什麼還需要switch結構?
可以,switch一般用來做多值的判斷,如果判斷條件為區間,則最好使用多重if來做,如果是等值情況最好使用switch來做。