新聞中心
Switch分支語句,主要提供一個選擇功能,現(xiàn)在學(xué)習(xí)的比較初級,可以將其與if語句進行區(qū)分,if語句可以進行選擇的比較簡單只是單純的進行真假的劃分,即布爾類型的使用,而switch語句使用類型就比較寬泛了,包括byte、short、int、char、string、枚舉等。

一、switch語法
switch語句的語法如下:
switch(expr){
case condition1{
//代碼塊...
break;
}
case condition2{
//代碼塊...
break;
}
...
case conditionN{
//代碼塊...
break;
}
dafault:{
//代碼塊...
}
}
這種分支語句的執(zhí)行是先對expr求值,然后依次匹配每個case標(biāo)簽后的condition值,遇到匹配的值即執(zhí)行對應(yīng)的代碼塊,如果condition的值沒有與expr表達式的值相等,則執(zhí)行default標(biāo)簽后的代碼塊。
二、switch語句和if語句的區(qū)別
switch語句和if語句都可用于分支條件的選擇,但switch后面的控制表達式只能是byte、short、char、int、String和枚舉類型,不能是boolean類型,if后面的控制表達式是boolean類型;switch語句中各個case標(biāo)簽后代碼塊的開始點和結(jié)束點非常清晰,因此完全可以省略case后代碼塊的花括號。
三、switch的使用及注意事項
為了更清晰的認(rèn)識switch,下面通過一段程序來示范switch的用法:
public class TestSwitch {
public static void main(String[] args) {
//聲明變量languageType
String languageType = "Java";
//執(zhí)行switch語句
switch (languageType) {
case "C":
System.out.println("C語言");
break;
case "Java":
System.out.println("Java語言");
break;
case "C++":
System.out.println("C++語言");
break;
case "Python":
System.out.println("Python語言");
break;
default:
System.out.println("語言類型輸入錯誤");
}
}
}
運行上面的程序輸出:Java語言。
因為定義的變量(switch后面的控制表達式)”languageType” 與”Java”匹配。
如果把上面程序中的每個case標(biāo)簽里的break語句去掉,將會發(fā)生什么樣的結(jié)果呢?那么我先把每個break語句注釋掉,運行結(jié)果如下:
Java語言 C++語言 Python語言 語言類型輸入錯誤
輸出結(jié)果是不是很奇怪!這正是switch語句的運行流程決定的,只要進入switch語句的入口,程序會一直運行下去,直到遇到break語句,如果省略了break語句,那么匹配case值后的所有情況(包括default)都會被執(zhí)行。
所以,使用switch語句時,有兩個值得注意的地方:
1)switch后面的控制表達式只能是byte、short、char、int、String和枚舉類型;
2)如果省略了case后的代碼塊break,將會引入一個陷阱。
本文名稱:JavaSwitch分支語句
鏈接分享:http://m.fisionsoft.com.cn/article/cojoesj.html


咨詢
建站咨詢
