真善美

勇于承担责任; 如果你做不到,要提前跟别人说明,不要等到事情发生后再解释。

  BlogJava :: 首页 ::  :: 联系 :: 聚合  :: 管理 ::
  55 随笔 :: 0 文章 :: 29 评论 :: 0 Trackbacks
整理一下今天下午同事出的一道题:
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语句,所以程序会执行紧接于其后的语句。

posted on 2007-06-26 17:11 真善美 阅读(30764) 评论(19)  编辑  收藏 所属分类: Java学习