问答详情
源自:4-6 Java条件语句之 switch

为什么default 块换了个位置输出结果就不同了?default 块不是可以出现在任何位置吗?

为什么default 块换了个位置输出结果就不同了?default 块不是可以出现在任何位置吗?_

public class HelloWorld {

    public static void main(String[] args) {

char today='日';

switch(today){

    case '一':

    case '三':

    case '五':

        System.out.println("早餐吃包子");

        break;

    default:

        System.out.println("吃主席套餐");

    case '二':

    case '四':

    case '六':

        System.out.println("早餐吃油条");

        break;

  

        

}

运行结果:吃主席套餐

                早餐吃油条     

public class HelloWorld {

    public static void main(String[] args) {

char today='日';

switch(today){

    case '一':

    case '三':

    case '五':

        System.out.println("早餐吃包子");

        break;

    case '二':

    case '四':

    case '六':

        System.out.println("早餐吃油条");

        break;

default:

        System.out.println("吃主席套餐");

运行结果:吃主席套餐


提问者:慕无忌0479860 2021-06-28 15:32

个回答

  • 挚_爱
    2021-06-29 12:08:10

    因为没有加break语句  switch判断只有遇到break语句才结束,否则就会继续执行下一个代码块

  • weixin_慕仔0257079
    2021-06-29 12:01:55

    default后面没跟break的原因吧,没break的话会默认把后面的内容都输出,除非有break跳出