黑马程序员技术交流社区

标题: java枚举 [打印本页]

作者: 马蒙蒙    时间: 2011-7-27 18:25
标题: java枚举
public class Test2{
        public enum Dogs{collie,harrier};
        public static void main(String [] args){
                Dogs myDog = Dogs.collie;
                switch(myDog){
                        case collie:
                                System.out.print("collie");
                        case harrier:
                                System.out.print("harrier");
                }
        }
}
为什么这段程序的输出结果是两个case都输出,而不是只输出collie?
请教高手?
作者: 杨志罡    时间: 2011-7-27 18:33
[code=java]public class Test2{
        public enum Dogs{collie,harrier};
        public static void main(String [] args){
                Dogs myDog = Dogs.collie;
                switch(myDog){
                        case collie:
                                System.out.print("collie");
                                 break;//在此处加break语句
                        case harrier:
                                System.out.print("harrier");
                                break;//在此处加break语句
                }
        }
}[/code]
[ 本帖最后由 杨志罡 于 2011-07-27  18:37 编辑 ]
作者: 匿名    时间: 2011-7-27 18:45
Java中swtich语句,若不在case后添加break;
会从匹配的case开始,顺次往下执行,直到break结束。不在乎经过了几个case语句块
作者: 匿名    时间: 2011-7-27 22:47
就是啊,这个是初级程序员经常犯的错误,忘了在case后面加上break语句了。O(∩_∩)O~




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