黑马程序员技术交流社区

标题: switch中的break的问题 [打印本页]

作者: 胡谭龙    时间: 2015-3-19 12:29
标题: switch中的break的问题
没弄明白switch中default后不写break,把它放在最上面和放在最下面程序该怎么执行
作者: 突然世界晴    时间: 2015-3-19 14:36
放在那都没有影响,
作者: 大手牵小手    时间: 2015-3-19 16:18
都一样!default都会执行的,只有遇到break才会停止!
作者: 张耀东    时间: 2015-3-19 17:41
default放在最上面时,只有在每个case都不匹配的时候才会找defualt执行,如果default后面没有break,按照顺序执行下一条,直到遇到break,或者执行到结尾处。
default放在最后面的话也是在所有case都不匹配的情况下才执行default,不过现在default在最后,执行完default之后如果遇到break就结束,没有break的话执行到结尾处也结束。
作者: 179407246    时间: 2015-3-19 18:31
好好看视频吧
作者: 山里孩子    时间: 2015-3-19 19:50
break 是跳出的意思,遇到break就跳出.
程序是顺序执行的, default 放到最后不写可以,  放到最前边不行...执行default后,就不管后面的case判断了,直接执行后面所有case里面的语句.
作者: 郝晓东    时间: 2015-3-19 20:28
Default 可放在switch中的任何一个地方,但只有给定的条件匹配不到时,才会执行.Case,default语句如果执行完要跳出,必须用break, 没的话会向下继续执行(如果碰到case语句则直接进入执行)
作者: Mr.南郭    时间: 2015-3-19 20:51
Default 即默认执行,它是指在所有的case条件判断完发现没有符合控制表达式时默认执行的,所以不管它放在前边中间还是后边,都是在所有case条件不满足要求时才执行,自然不受其位置的影响。
作者: kapp_tolo    时间: 2015-3-19 21:33
不记得了,奔溃呀,,,加油。
作者: 无辜被杀害    时间: 2015-3-19 21:36
一楼说的不错~
作者: 邓士林    时间: 2015-3-19 21:57
package com.dsw.test;

public class SwitchDemo {
        public static void main(String [] args){
                int a = 4;
                switch(a){
                default:
                        System.out.println("default");
                case 1:
                        System.out.println(1);
                        //break;
                case 2:
                        System.out.println(2);
                        //break;
                case 3:
                        System.out.println(3);
                        //break;
               
                }
        }
}

default
1
2
3
无论default放在何处,都是在case全部不匹配时才从default处的语句开始执行。一直往下输出,直到遇到break或尾部结束。
作者: 我只追求完美    时间: 2015-3-19 23:37
在上面和在下面是一样的
作者: HMjack168    时间: 2015-3-20 09:37
8楼正解




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