switch語句是單條件多分支的開關語句,語法格式如下:
switch(表達式){case常數值1:語句1;break;case常數值2:語句2;break;case常數值3:語句3;break;…case常數值n:語句n;break;default:語句n+1;}
switch語句中「表達式」的值可以是byte、short、int、char型,「常數值1」到「常數值n」也是byte、short、int、char型,而且要互不相同。
switch語句先計算表達式的值,如果表達式的值和某個case後面的常數值相等,就執行該case裡的語句直到碰到break語句為止。如果某個case中沒有使用break語句,一旦表達式的值和該case後面的常數值相等,程式不僅執行該case裡的語句,而且繼續執行後繼的case裡的語句,直到碰到break語句為止。若switch語句中的表達式的值不與任何case的常數值相等,則執行default後面的語句。 switch語句中的default是可選的,如果它不存在,且switch語句中表達式的值不與任何case的常數值相等,那麼switch語句就不會進行任何處理。
我們前面學習的if條件分支語句的共同特點是根據一個或多個條件選擇執行一個分支操作,而不是選擇執行多個分支操作。在switch語句中,透過合理地使用break語句,可以達到根據一個條件選擇執行一個分支或多個分支操作的結果。
實例:
publicclassMain{publicstaticvoidmain(Stringargs[]){chargrade='B';switch(grade){case'A':System.out.println(優秀);break;case'B':System.out.println(良好); break;case'C':System.out.println(及格);break;default:System.out.println(未知);}}}
運行結果如下:
良好