今天论坛有人问,x一直等于二,为什么还会执行case里面的代码块,这个y输出为5。我也是想了半天,后来看他其他人的回帖,以及自己的百度,才发现这是属于switch穿透

今天看到的一个题目,如题:

switch 穿透

那么什么是switch穿透呢:即switch进入的第一个case判断成功进入的代码块如果没有break的话,后面所有的case都不会判断,默认为true直接执行里面的代码块。

上图中的执行顺序:

switch 穿透

所以正确写法: 所有case和default里面代码块后面都要写break;default要写在最后面。

实际工作中请保持如下模式:

switch 穿透

输出为4

相关文章: