【点记】初学switch语句的错误
这是本菜鸡在初学switch语句中犯的错误,可悲的是今天才发现。
上栗子。
1 public class Example { 2 public static void main(String[] args) { 3 int val = 1; 4 switch (val) { 5 case 1: 6 System.out.println("P"); 7 case 2: 8 case 3: 9 System.out.println("Q"); 10 break; 11 case 4: 12 System.out.println("R"); 13 default: System.out.println("S"); 14 } 15 } 16 }
我以为switch(1)后直接执行case1中打印P就结束了,其实不是。
只要没有遇到break语句,它还要继续执行case2、3。
最后结果为:
P
Q
另外关于多分支语句switch,来编写按照月份来判断季节的程序,涉及到678月都是夏天
case部分可以直接这样写
1 case 6:case 7:case 8: 2 {System.Out.println("夏");break;}
以下是完整的程序
1 public class example { 2 public static void main(String[] args) { 3 int i=4; 4 switch(i) { 5 case 3: case 4: case 5: 6 {System.out.println("春"); 7 break; 8 } 9 case 6: case 7: case 8: 10 {System.out.println("夏"); 11 break; 12 } 13 case 9: case 10: case 11: 14 {System.out.println("秋"); 15 break; 16 } 17 case 12: case 1: case 2: 18 {System.out.println("冬"); 19 break; 20 } 21 } 22 } 23 }

浙公网安备 33010602011771号