由于没加break造成了所有y++都被执行了一遍
碰到这种问题如果不理解,我个人的经验是多加几个输出语句,然后就一目了然了。
class Demo4{
public static void main(String[] args) {
int x = 1, y = 2;
switch (x){
default:
System.out.println("defaultheady=" + y);//y=2
y++;
System.out.println("defaulty=" + y);//y=3
case 2:
System.out.println("case2heady=" + y);//y=3
y++;
System.out.println("case2y=" + y);//y=4
case 3:
System.out.println("case3heady=" + y);//y=4
y++;
System.out.println("case3y=" + y);//y=5
}
System.out.println("y=" + y);//y=5
}
} |