雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

Java

當前位置:主頁 > 軟件編程 > Java >

Java switch多值匹配操作詳解

來源:本站原創(chuàng)|時間:2020-01-10|欄目:Java|點擊:

這篇文章主要介紹了Java switch多值匹配操作詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

我們都知道 switch 用來走流程分支,大多情況下用來匹配單個值,如下面的例子所示:

/**
 * @author 棧長
 */
private static void test(int value) {
  switch (value) {
    case 1:
      System.out.println("1");
      break;
    case 2:
      System.out.println("1");
      break;
    case 3:
      System.out.println("1");
      break;
    case 4:
      System.out.println("1");
      break;
    case 5:
      System.out.println("1");
      break;
    case 6:
      System.out.println("0");
      break;
    case 7:
      System.out.println("0");
      break;
    default:
      System.out.println("-1");
  }
}

相關閱讀:switch case數(shù)據(jù)類型。

大概的意思就是,周一到周五輸出:1,周六到周日輸出:0,默認輸出-1。

這樣寫,很多重復的邏輯,冗余了。

也許這個例子不是很合適,用 if/ else 更恰當,但這只是個例子,實際開發(fā)中肯定會有某幾個 case 匹配同一段邏輯的情況。

那么,如何讓多個 case 匹配同一段邏輯呢?

如下面例子所示:

/**
 * @author 棧長
 */
private static void test(int value) {
  switch (value) {
    case 1: case 2: case 3: case 4: case 5:
      System.out.println("1");
      break;
    case 6: case 7:
      System.out.println("0");
      break;
    default:
      System.out.println("-1");
  }
}

把相同邏輯的 case 放一起,最后一個 case 寫邏輯就行了。

格式化后就是這樣了:

/**
 * @author 棧長
 */
private static void test(int value) {
  switch (value) {
    case 1: 
    case 2: 
    case 3: 
    case 4: 
    case 5:
      System.out.println("1");
      break;
    case 6: 
    case 7:
      System.out.println("0");
      break;
    default:
      System.out.println("-1");
  }
}

是不是很騷?

其實這不是最合適的最好的寫法,在 Java 12 中還可以更騷。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持我們。

上一篇:java多線程關鍵字final和static詳解

欄    目:Java

下一篇:java多線程volatile內(nèi)存語義解析

本文標題:Java switch多值匹配操作詳解

本文地址:http://www.jygsgssxh.com/a1/Java/8716.html

網(wǎng)頁制作CMS教程網(wǎng)絡編程軟件編程腳本語言數(shù)據(jù)庫服務器

如果侵犯了您的權利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導致的法律后果,本站均不負任何責任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權所有