A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 胡谭龙 中级黑马   /  2015-3-19 12:29  /  2174 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

没弄明白switch中default后不写break,把它放在最上面和放在最下面程序该怎么执行

12 个回复

倒序浏览
放在那都没有影响,
回复 使用道具 举报
都一样!default都会执行的,只有遇到break才会停止!
回复 使用道具 举报
default放在最上面时,只有在每个case都不匹配的时候才会找defualt执行,如果default后面没有break,按照顺序执行下一条,直到遇到break,或者执行到结尾处。
default放在最后面的话也是在所有case都不匹配的情况下才执行default,不过现在default在最后,执行完default之后如果遇到break就结束,没有break的话执行到结尾处也结束。
回复 使用道具 举报 1 0
好好看视频吧
回复 使用道具 举报
break 是跳出的意思,遇到break就跳出.
程序是顺序执行的, default 放到最后不写可以,  放到最前边不行...执行default后,就不管后面的case判断了,直接执行后面所有case里面的语句.
回复 使用道具 举报
郝晓东 来自手机 中级黑马 2015-3-19 20:28:40
7#
Default 可放在switch中的任何一个地方,但只有给定的条件匹配不到时,才会执行.Case,default语句如果执行完要跳出,必须用break, 没的话会向下继续执行(如果碰到case语句则直接进入执行)
回复 使用道具 举报
Default 即默认执行,它是指在所有的case条件判断完发现没有符合控制表达式时默认执行的,所以不管它放在前边中间还是后边,都是在所有case条件不满足要求时才执行,自然不受其位置的影响。
回复 使用道具 举报
不记得了,奔溃呀,,,加油。
回复 使用道具 举报
一楼说的不错~
回复 使用道具 举报
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或尾部结束。
回复 使用道具 举报
在上面和在下面是一样的
回复 使用道具 举报
8楼正解
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马