整理一下今天下午同事出的一道題:
1)
1 public class Switch {
2 public static void main(String[] args){
3 int x=0;
4 switch(x){
5 default:
6 System.out.println("default");
7 case 1:
8 System.out.println(1);
9 case 2:
10 System.out.println(2);
11 }
12 }
13 }
輸出結(jié)果如下:
default
1
2
2)
1 public class Switch {
2 public static void main(String[] args) {
3 int x = 0;
4 switch (x) {
5 default:
6 System.out.println("default");
7 case 0:
8 System.out.println(0);
9 case 1:
10 System.out.println(1);
11 case 2:
12 System.out.println(2);
13 }
14 }
15 }
輸出結(jié)果如下:
0
1
2
3)
1 public class Switch {
2 public static void main(String[] args) {
3 int x = 0;
4 switch (x) {
5 case 0:
6 System.out.println(0);
7 case 1:
8 System.out.println(1);
9 case 2:
10 System.out.println(2);
11 default:
12 System.out.println("default");
13 }
14 }
15 }
輸出結(jié)果如下:
0
1
2
default
總結(jié):
switch表達(dá)式的值決定選擇哪個(gè)case分支,如果找不到相應(yīng)的分支,就直接從"default" 開(kāi)始輸出。
當(dāng)程序執(zhí)行一條case語(yǔ)句后,因?yàn)槔又械腸ase分支中沒(méi)有break 和return語(yǔ)句,所以程序會(huì)執(zhí)行緊接于其后的語(yǔ)句。