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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

default可以写在switch结构中的任意位置;如果将default语句放在了第一行,则不管expression与case中的value是否匹配,程序会从default开始执行直到第一个break出现。

最后圈红这句"程序会从default开始执行直到第一个break出现"    这句话应该是有问题的吧   是从default开始执行吗??  在switch语句中  default 包括每个case的位置不是都是任意的吗??说好的位置不影响程序运行呢??

6 个回复

倒序浏览
不管谁说的,你可以把这句删了!真能扯,都是先匹配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;
                        }
                        
                                
                }
        }
}
回复 使用道具 举报
肯定不是啊,都是先匹配CASE,找不到匹配结果才会执行default的,楼主是小白中的战斗机
回复 使用道具 举报
default 所代表情况为最后一种情况,就是所有case都匹配不上时自动找default,和其位置无关,因为default代表的是最后一种情况,所以通常放在最后,符合人的思维,但是实际上它的位置可以任意放置。
回复 使用道具 举报
switch先匹配case中的  ,case中没找到 ,在执行dafault语句
回复 使用道具 举报
先从case执行,不论default在哪,都在case后执行
回复 使用道具 举报
不论顺序的,都是先case,如果都不成立才运行default
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马