switch击穿

作者依旧尽可能用白话描述,希望能给大家带来帮助

我们执行以下代码看一下结果

public class Test {
	public static void main(String[] args) {
		int a = 0;
		switch (a) {
		case 0:System.out.println(0);
		case 1:System.out.println(1);
		case 2:System.out.println(2);
		case 3:System.out.println(3);
		case 4:System.out.println(4);
		}
	}
}

大家觉得运行结果会是什么样?

可能有部分人会想,switch语句选择,a的值为0,肯定运行case:0的内容,输出0,我们来看结果

宣运行结果觐见!!!!

实际上,它全部运行了

这就是case的穿透性,如果不加break,它会以此向下执行,那我们加上break试验一下

public class Test {
	public static void main(String[] args) {
		int a = 0;
		switch (a) {
		case 0:
			System.out.println(0);
			break;
		case 1:
			System.out.println(1);
			break;
		case 2:
			System.out.println(2);
			break;
		case 3:
			System.out.println(3);
			break;
		case 4:
			System.out.println(4);
			break;
		}
	}
}

运行结果就是我们想要的东西了

大家在使用switch语句的时候千万不要忘加break!千万不要忘加break!千万不要忘加break!(重要的事情说三遍)

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

希望对大家有所帮助,如果有错误,欢迎批评指正
 

发布了33 篇原创文章 · 获赞 71 · 访问量 4848

猜你喜欢

转载自blog.csdn.net/weixin_44407699/article/details/96422039