對於流程控制中的switch-case語句,一直是我的一個弱項.
每當考試或者面試筆試的時候,總是丈二和尚摸不著頭腦,我想這應該是我基礎太差的原因吧!
為了徹底解決這個心病,不得不花點功夫了!
首先從原理上來闡述這個問題:
switch(表達式)
{ case 常量表達式1:語句1;
....
case 常量表達式2:語句2;
default:語句; }
1.default就是如果沒有符合的case就執行它,default並不是必須的.
2.case後的語句可以不用大括號.
3.switch語句的判斷條件可以接受int,byte,char,short,不能接受其他類型.
4.一旦case匹配,就會順序執行後面的程序代碼,而不管後面的case是否匹配,直到遇見break,利用這一特性可以讓好幾個case執行統一語句.
原理歸原理,下面是幾個容易混淆的例子.
1.標准型(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