增強switch語句的使用


  今天在IDEA中寫switch語句的時候,IDEA給我彈出了一個提示,是否修改為增強switch語句,

今天我們就來看看,增強版的switch語句有什么不同

 1 package test;
 2 import java.util.Scanner;
 3 public class month_to_season {
 4     public static void main(String[] args){
 5         Scanner sc = new Scanner(System.in);//輸入月份
 6                 int month = sc.nextInt();  //下面是原版switch
 7         switch(month){
 8             case 1:
 9             case 2:
10             case 12:
11                 System.out.println("Winter");
12                 break;
13             case 3:
14             case 4:
15             case 5:
16                 System.out.println("Spring");
17                 break;
18             case 6:
19             case 7:
20             case 8:
21                 System.out.println("Summer");
22                 break;
23             case 9:
24             case 10:
25             case 11:
26                 System.out.println("Autumn");
27                 break;
28             default:
29                 System.out.println("wrong!");
30         }
31     }
32 }

這是用基礎switch語句實現輸入月份,輸出季節的代碼

下面我將展示用增強版書寫的版本

 1 package test;
 2 import java.util.Scanner;
 3 public class month_to_season {
 4     public static void main(String[] args){
 5         Scanner sc = new Scanner(System.in);//輸入月份
 6                 int month = sc.nextInt();  //下面是增強版switch
 7         switch (month) {
 8             case 1, 2, 12 -> System.out.println("Winter");
 9             case 3, 4, 5 -> System.out.println("Spring");
10             case 6, 7, 8 -> System.out.println("Summer");
11             case 9, 10, 11 -> System.out.println("Autumn");
12             default -> System.out.println("wrong!");
13         }
14     }
15 }

可以看到,最大的特點就是看不到break了

眾所周知,break僅僅用於case穿透時才不寫,其余時候都得加上

在增強版中,直接把要穿透的case寫到了一排,可謂是簡化了格式。

而且,整體上看,代碼短了很多,精煉了很多,無論是交作業,還是給同學看代碼

能給人一種更加直觀的感受。

 

注意:這種寫法僅適合Java12及之后的版本哦


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM