java_switch在没有break时的用法

来源:互联网 发布:apache cxf 2.5.9 编辑:程序博客网 时间:2024/06/08 06:17

本文为个人理解如果哪里有不对的地方请大家给出宝贵意见谢谢:

分为三种情况分析:

1.当没有break时,default 在第一位的情况  

例如:

switch (i) {     
            default:     
                 System.out.println("默认");    
            case 1:     
                 System.out.println("1");     
            case 2:     
                    System.out.println("2");   
            case 3:     
                 System.out.println("3");     
         } 

当给定义i=1时,输出的结果为: 当结果为1时输出结果为 1,2,3 

当给定义i=2时,输出的结果为: 当结果为1时输出结果为 2,3

当给定义i=3时,输出的结果为: 当结果为1时输出结果为 3

当给定义i=4时,输出的结果为: 当结果为1时输出结果为 默认,1,2,3

总结:当i匹配到的时候它会走到匹配的位置,而且还会继续运行之后的代码,之后最后位置,当匹配不到是,他会都输出一遍

2.当没有break时,default 在中间时的情况  

例如:

switch (i) {       
            case 1:     
                 System.out.println("1"); 

            default:     
                 System.out.println("默认");
            case 2:     
                    System.out.println("2");   
            case 3:     
                 System.out.println("3");     
         } 

当给定义i=1时,输出的结果为: 当结果为1时输出结果为 1,默认,2,3 

当给定义i=2时,输出的结果为: 当结果为1时输出结果为 2,3

当给定义i=3时,输出的结果为: 当结果为1时输出结果为 3

当给定义i=4时,输出的结果为: 当结果为1时输出结果为  默认,,2,3

总结:当i匹配到的时候它会走到匹配的位置,而且还会继续运行之后的代码,之后最后位置,当匹配不到是,他会从default起到以下都输出一遍

3.当没有break时,default 在最下面时的情况  

例如:

switch (i) {       
            case 1:     
                 System.out.println("1"); 
            case 2:     
                    System.out.println("2");   
            case 3:     
                 System.out.println("3"); 

           default:     
                 System.out.println("默认");  
         } 

当给定义i=1时,输出的结果为: 当结果为1时输出结果为 1,2,3,默认 

当给定义i=2时,输出的结果为: 当结果为1时输出结果为 2,3,默认 

当给定义i=3时,输出的结果为: 当结果为1时输出结果为 3,默认

当给定义i=4时,输出的结果为: 当结果为1时输出结果为  默认

总结:当i匹配到的时候它会走到匹配的位置,而且还会继续运行之后的代码,之后最后位置,当匹配不到是,他只会输出default下的语句