Javaswitch语法的踩坑
在⼯作中⽤switch出了bug,所以发现原本我对switch的理解是不对的,我⼀开始以为swith是严格按照case⾥的选项来执⾏的,后来发现不是的:
1 String s = "come";
2switch (s){
3case "come":
4if (1 == 2){
5 System.out.println("come output 1");
6 }else if (3 == 4){
7 System.out.println("come output 2");
8 }
java switch case string9case "go":
10 System.out.println("go output");
11 }
结果输出的是"go output",也就是不只按case "come"⾥的执⾏
所以写switch⼀定要写个兜底语句来保险,不然容易出错。如这样兜底:
1 String s = "come";
2switch (s){
3case "come":
4if (1 == 2){
5 System.out.println("come output 1");
6 }else if (3 == 4){
7 System.out.println("come output 2");
8 }
9 System.out.println("come output 3");
10case "go":
11 System.out.println("go output");
12 }
Written on Dec. 20th, 2019
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论