黑马程序员技术交流社区

标题: 找不到哪位大神发的帖子了 只好问大家了 关于switch语句中的default [打印本页]

作者: 小火把    时间: 2016-8-23 19:44
标题: 找不到哪位大神发的帖子了 只好问大家了 关于switch语句中的default
default可以写在switch结构中的任意位置;如果将default语句放在了第一行,则不管expression与case中的value是否匹配,程序会从default开始执行直到第一个break出现。

最后圈红这句"程序会从default开始执行直到第一个break出现"    这句话应该是有问题的吧   是从default开始执行吗??  在switch语句中  default 包括每个case的位置不是都是任意的吗??说好的位置不影响程序运行呢??
作者: 水月灬清影    时间: 2016-8-23 20:18
不管谁说的,你可以把这句删了!真能扯,都是先匹配case,找不到再default,跟位置有毛线关系。
[Java] 纯文本查看 复制代码
public class Test {
        public static void main(String[] args) {
                switch(1){
                        default:{
                                System.out.println("default");
                                break;
                        }
                        case 1:{
                                System.out.println("1");     //输出 1
                                break;
                        }
                        case 2:{
                                System.out.println("2");
                                break;
                        }
                        
                                
                }
        }
}

作者: a623562486    时间: 2016-8-23 21:07
肯定不是啊,都是先匹配CASE,找不到匹配结果才会执行default的,楼主是小白中的战斗机
作者: 右耳年华i    时间: 2016-8-23 21:20
default 所代表情况为最后一种情况,就是所有case都匹配不上时自动找default,和其位置无关,因为default代表的是最后一种情况,所以通常放在最后,符合人的思维,但是实际上它的位置可以任意放置。
作者: 开心的流泪者    时间: 2016-8-23 21:27
switch先匹配case中的  ,case中没找到 ,在执行dafault语句
作者: 马蚁牙黑    时间: 2016-8-24 19:00
先从case执行,不论default在哪,都在case后执行
作者: 醉梦乘风    时间: 2016-8-24 19:34
不论顺序的,都是先case,如果都不成立才运行default




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