这篇文章主要介绍了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");

}

}

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

这样写,很多重复的逻辑,冗余了。

也许这个例子不是很合适,用 if/ else 更恰当,但这只是个例子,实际开发中肯定会有某几个 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 中还可以更骚。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

java case 多个值_Java switch多值匹配操作详解相关推荐

  1. java switch 值_Java switch多值匹配操作详解

    这篇文章主要介绍了Java switch多值匹配操作详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 我们都知道 switch 用来走流程分支,大 ...

  2. java对文件的操作详解_Java 对 Properties 文件的操作详解及简单实例

    Java 对 Properties 文件的操作详解及简单实例 发布于 2020-8-7| 复制链接 摘记: Java 对 Properties 文件的操作简介在 Java 中,我们常用 java.ut ...

  3. java一个方法排他调用_Java编程实现排他锁代码详解

    一 .前言 某年某月某天,同事说需要一个文件排他锁功能,需求如下: (1)写操作是排他属性 (2)适用于同一进程的多线程/也适用于多进程的排他操作 (3)容错性:获得锁的进程若Crash,不影响到后续 ...

  4. java中 enum什么意思_Java中枚举Enum的使用详解

    在某些情况下,一个类的对象时有限且固定的,如季节类,它只有春夏秋冬4个对象这种实例有限且固定的类,在 Java 中被称为枚举类: 在 Java 中使用 enum 关键字来定义枚举类,其地位与 clas ...

  5. java原生类型没有封装_Java基本数据类型与封装类型详解(int和Integer区别)

    Java基本数据类型与封装类型详解(int和Integer区别) 发布于 2020-4-19| 复制链接 摘记: int是java提供的8种原始数据类型之一.Java为每个原始类型提供了封装类,Int ...

  6. java 封装表单数据类型_Java基本数据类型与封装类型详解(int和Integer区别)

    int是java提供的8种原始数据类型之一. Java为每个原始类型提供了封装类,Integer是java为int提供的封装类(即Integer是一个java对象,而int只是一个基本数据类型).in ...

  7. java this关键字的使用_Java this 关键字的使用方法详解

    Java this 关键字的使用方法详解 构造方法中的this关键字 构造方法是一个类的对象在通过new关键字创建时自动调用的,在程序中不能向调用其他方法一样通过方法名(也就是类名)来调用.但如果一个 ...

  8. java如何实现克隆接口_java之实现clone接口的详解,克隆一个对象--对应有浅克隆和深克隆,概念结合代码深入理解...

    1.首先,你要知道怎么实现克隆:实现Cloneable接口,在bean里面重写clone()方法,权限为public. 2.其次,你要大概知道什么是地址传递,什么是值传递. 3.最后,你要知道你为什么 ...

  9. java中math的方法_Java中Math类常用方法代码详解

    近期用到四舍五入想到以前整理了一点,就顺便重新整理好经常见到的一些四舍五入,后续遇到常用也会直接在这篇文章更新... public class Demo{ public static void mai ...

最新文章

  1. sql 基础--mysql 5 (6)
  2. 对Julia社区不熟悉?创始人来告诉你
  3. numpy基本矩阵操作
  4. Jupyter Notebook——设置远程服务器登陆
  5. Oracle 11gR2发布11.2.0.3 Patchset补丁集-又一重量级更新
  6. python编程高手教程_写给编程高手的Python教程(01) 数据结构
  7. Linux如何自定义屏幕分辨率,Linux手动设置屏幕分辨率的办法
  8. 课程设计:波形发生器
  9. C语言实现扫雷OvO
  10. python 获取路由器中设备ip地址_Python中如何获取当前机器的IP地址
  11. 以游戏玩家的视角开启设计模式
  12. 电脑硬盘锁怎么解除linux,硬盘锁了怎么办_硬盘锁怎么解除
  13. 懒人的findviewbyid
  14. Office 365 API平台概览
  15. linux有什么好的软件,Linux国产软件大盘点
  16. Python Class 05-字符串
  17. 全民推荐时代已经到来!SaaS联盟推广计划如何开展?
  18. python corpora.Dictionary corpus dictionary.doc2bow 词袋模型转为稀疏矩阵 词向量 不要词袋模型
  19. android解决kotlin问题Expecting member declaration
  20. latex参考文献中输入

热门文章

  1. APP(ios、Android)实现充值的方案
  2. LabVIEW编程LabVIEW开发NI PCIE 6351同步 例程与相关资料
  3. 计算机应用教学方法与手段,计算机应用中Office办公软件的教学方法
  4. Linux下配置本地yum源(Centos、Debain和SUSE)
  5. linux 面试答题
  6. 百度知道的代码复制粘贴到VB没有换行怎么办
  7. typedef typename
  8. c语言离散卷积编程,数电实验一 离散卷积的C语言编程.ppt
  9. 【测控电路】电压比较电路
  10. Swift函数式编程十二(表格应用)