整理一下今天下午同事出的一道題:
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 }
輸出結果如下:
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 }
輸出結果如下:
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 }
輸出結果如下:
0
1
2
default
總結:
switch表達式的值決定選擇哪個case分支,如果找不到相應的分支,就直接從"default" 開始輸出。
當程序執行一條case語句后,因為例子中的case分支中沒有break 和return語句,所以程序會執行緊接于其后的語句。