switch的“穿透”概念--1.内容穿透;2.无break穿透

1.内容穿透:

import java.lang.*;

/*
*1.内容穿透,只要case的内容有包含参数字段,就会执行
*/
public class demo1{
    public static void main(String [] args){
           String A="a";
           switch(A){
                   case "a":
                     System.out.println("打印a");
                   case "ab":
                     System.out.println("打印ab");
                   case "abc":
                     System.out.println("打印abc");
                    }
           System.out.println("结束");

}

}
打印a
打印ad
打印abc
结束
/*
*2.在没有遇到break都会继续往下执行
*/
public static void main(String[] args) {
   int num = 2;
   switch (num) {
   case 1:
        ++num;
   case 2:
        ++num;
   case 3:
        ++num;
   default:
        ++num;
   break;
   }
   System.out.println(num);
 }
}
匹配到case 2 num->3 但是其后没有break,所以继续执行case 3 num->4、default  num->5而后结束,所以答案为 5

 

posted @ 2019-07-12 16:56  毛兔dimples  阅读(27)  评论(0编辑  收藏  举报