switch中的default

    xiaoxiao2022-07-02  138

    default什么时候会执行?default的位置对执行结果有影响吗?

    default只有在case匹配失败的时候才会执行

            int a=4; switch (a){ case 1: System.out.println("1"); break; case 2: System.out.println("2"); break; case 3: System.out.println("3"); break; default: System.out.println("default"); break; }

    打印结果:default

    当然也有特殊情况,就是case匹配成功了,但缺少了break语句

    int a=3; switch (a){ case 1: System.out.println("1"); break; case 2: System.out.println("2"); break; case 3: System.out.println("3"); default: System.out.println("default"); break; }

    打印结果:

    3

    default

    default的位置对执行结果有没有影响,关键看default有没有使用break,先看有break的情况下是什么结果

    int a=4; switch (a){ default: System.out.println("default"); break; case 1: System.out.println("1"); break; case 2: System.out.println("2"); break; case 3: System.out.println("3"); break; }

    打印结果:default

    接下来看看不加break是什么结果

    int a=4; switch (a){ default: System.out.println("default"); case 1: System.out.println("1"); case 2: System.out.println("2"); break; case 3: System.out.println("3"); break; }

    打印结果:

    default 1

    2

    可以看到不加break的话会继续向下执行,直到遇到break或return或switch结束为止

     

     

    default语句不是必须的。   switch case 语句是一个条件选择语句,找到相同的case值做为入口,执行后面的程序;若所有的case都不满足,则找default入口;若未找到则退出整个switch语句。  所以default只是一个备用的入口,有没有都无所谓。 但是对于规范代码来说最好在后面加一个default,参考阿里巴巴的代码规范插件!

    最新回复(0)