黑马程序员技术交流社区

标题: 这段代码的运行过程 [打印本页]

作者: 杨胜男    时间: 2014-6-6 08:42
标题: 这段代码的运行过程
class Demo
{
        public static void main(String[] args)
        {
                show(0);
                show(1);
        }       
        public static void show(int i)
        {
                switch(i)
                {       
                        default:
                                i+=2;
                        case 1:
                                i+=1;
                        case 4:
                                i+=8;                       
                        case 2:
                                i+=4;
                       
                }
                System.out.println("i="+i);
        }       
}
//show(0)和show(1)的结果分别是什么?
作者: 阿苏勒    时间: 2014-6-6 09:18
switch的用法是判断case后面的表达式和switch后面的表达式是否相匹配,一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break。

show(0),所以i=2;由于没有break语句,所以会依次的往下执行,最后i的值就是2+1+8+4=15;

同理show(1),就等于1+1+8+4=14;

作者: zly1992008    时间: 2014-6-6 09:52
给阿苏勒赞一个!
作者: 师在飞    时间: 2014-6-6 09:55
楼上说的对
作者: 江祖贇    时间: 2014-6-6 10:37
没有break  一路走下去
作者: 紫水    时间: 2014-6-6 10:52
对的,好好学习基础哦
作者: pengyu    时间: 2014-6-6 11:54
楼上说的对啊





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2