【点记】初学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 82 {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 }

 

posted @ 2019-10-09 19:53  雪参土土  阅读(399)  评论(0)    收藏  举报