java中的switch语句

    技术2022-05-20  40

     

    switch语句在匹配的时候, 始终是最后一个匹配项。

     

     

     

    不管default放在什么位置,它总是在最后一个匹配,然后继续向下处理

     

     

    如果default语句放在最后, 则是否加break语句无所谓。

     

    但是,如果default不是在最后,会是什么情况:

    1、 default后有break语句, 如果匹配测话, 执行相应的case, 没有匹配项, 则执行default语句,并正常跳出switch。

    2、 default后无break语句, 如果匹配测话, 执行相应的case, 没有匹配项, 则执行default语句,并继续执行执行下一个case。

     

    所以default是始终是最后一个匹配, 但并不是最后一个执行

     

    例1:

    public class SwitchTest { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("i==2:"); defaultTest(2); } public static void defaultTest(int i){ switch(i){ default: System.out.println("default"); case 0: System.out.println("zero"); break; case 1: System.out.println("one"); break; case 2: System.out.println("two"); break; } } } 

     

    结果:

    i==2:

    two

    分析:匹配成功,执行了对应的case, default没有执行

     

    例2:

    public class SwitchTest { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("i==9:"); defaultTest(9); } public static void defaultTest(int i){ switch(i){ default: System.out.println("default"); case 0: System.out.println("zero"); break; case 1: System.out.println("one"); break; case 2: System.out.println("two"); break; } } } 

    结果:

    i==9:

    default

    zero

    分析:匹配失败,先执行default, 由于default后无break语句, 所以继续执行了case 1。

     

     


    最新回复(0)