switch多值匹配骚操作,带你涨姿势!
我们都知道 switch
用来走流程分支,大多情况下用来匹配单个值,如下面的例子所示:
/*** @from 微信公众号:Java技术栈* @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 支持的 6 种数据类型。
大概的意思就是,周一到周五输出:1,周六到周日输出:0,默认输出-1。
这样写,很多重复的逻辑,冗余了。
也许这个例子不是很合适,用 if/ else 更恰当,但这只是个例子,实际开发中肯定会有某几个 case 匹配同一段逻辑的情况。
那么,如何让多个 case 匹配同一段逻辑呢?
如下面例子所示:
/*** @from 微信公众号:Java技术栈* @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 写逻辑就行了。
格式化后就是这样了:
/*** @from 微信公众号:Java技术栈* @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 12 中可以用逗号来分开多个值,还能用 lambda
表达式,甚至还能省略 break,使用 switch
更方便,具体看这篇文章:Java 12 骚操作, switch居然还能这样玩。
switch多值匹配骚操作,带你涨姿势!相关推荐
- java switch 值_Java switch多值匹配操作详解
这篇文章主要介绍了Java switch多值匹配操作详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 我们都知道 switch 用来走流程分支,大 ...
- java case 多个值_Java switch多值匹配操作详解
这篇文章主要介绍了Java switch多值匹配操作详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 我们都知道 switch 用来走流程分支,大 ...
- GitHub 骚操作,个人页还能这么玩?
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 之前写过一篇 GitHub 骚操作的文章 GitHub 竟 ...
- python switch语句_几个Python里的骚操作
今天给大家分享几个Python里面的骚操作,大家会更加感受到Python编码的强大. 1.用字典映射代替switch case语句 大家首先看下面这段用C#编写的switch case代码,代码很好理 ...
- 音视频骚操作,FFmpeg 如何播放带「图片」的 M3U8 视频,IJKPlyaer 适配非标 TS 文件
如果看到一个需要播放的视频链接显示是一张图片,你会不会感觉有点懵?如果这张图片写着 png,然后实际格式是 bmp ,你会不会更懵了?如果这个 bmp 还做了加密篡改呢?今天我们要聊的就是这样一个充满 ...
- php switch 判断多个,php switch语句多个值匹配同一代码块的实现
php switch语句多个值匹配同一代码块的实现 先说说switch()语句的格式 switch(表达式){ case 匹配1: 当匹配1和表达式匹配成功执行的代码; break; case 匹配2 ...
- 索引的使用—— 验证索引提升查询效率 || 避免索引失效 —— 全值匹配 /最左前缀法则/范围查询右边的列,不能使用索引/不要在索引列上进行运算操作/字符串不加单引号,造成索引失效
索引的使用 索引是数据库优化最常用也是最重要的手段之一, 通过索引通常可以帮助用户解决大多数的MySQL的性能优化问题 验证索引提升查询效率 查询速度很快,接近0s ,主要的原因是因为id为主键,有索 ...
- HDU 1853 HDU 3488【有向环最小权值覆盖问题 】带权二分图匹配 KM算法
HDU 1853 & HDU 3488[有向环最小权值覆盖问题 ]最小费用最大流 In the kingdom of Henryy, there are N (2 <= N <= ...
- 怎么表示一个PHP语句块,php switch语句多个值匹配同一代码块应用示例
先说说switch()语句的格式 switch(表达式){ case 匹配1: 当匹配1和表达式匹配成功执行的代码; break; case 匹配2: 当匹配2和表达式匹配成功执行的代码; break ...
最新文章
- LR11之web_reg_find文本检查点的使用
- 参与有奖 | Arthas 第 5 期征文活动火热开启!(内附第四期中奖名单)
- MySQL max()函数
- SpringBoot中 pagehelper插件使用
- python函数的嵌套和递归_Python通过递归函数输出嵌套列表元素
- AutoLISP恢复系统变量到默认值
- 【Android】3.21 示例21—兴趣点收藏功能
- linux ssl 脚本 51cto,升级opensslopenssh的shell脚本
- php读取带分隔符的txt文件,Pandas中文手册
- HART协议命令与UART串口解析
- Windows 10 企业版LTSCjihuo
- PCAN-View 软件添加111K波特率选项
- 毕业生写论文必备!! 设置奇数偶数页眉不同,奇数页是对应本章章节名,偶数页为论文名
- 手撕神经网络(1)——神经网络的基本组件
- checkSelfPermission总是返回PERMISSION_GRANTED
- 液相色谱柱PHP,浅谈液相色谱柱现代史
- 从零开始做运营 入门版(张亮著)读书知识整理①
- Netbackup 8.1 许可证
- Geophysical research letters 进度2
- python余弦定理_余弦定理与文本相似度
热门文章
- 编程之美-寻找发帖“水王”方法整理
- scoped原理、不足、弥补或替代
- C# 6.0的字典(Dictionary)的语法
- 从零开始学_JavaScript_系列(16)——CSSlt;3gt;(文本、对齐、圆角、盒模型、背景)...
- 笔记本Wifi连接出现“设置与网络连接不匹配”的解决方法
- vim去掉windows文本的多余的回车符(^M)
- 希望的背后……感谢青鸟、感谢51cto、感谢帮助过我的人们
- OSPF的LSA类型 ——连载一路由器LSA
- matlab中怎么求矩阵的特征值和特征向量
- MATLAB中:左右除法、逆inv、广义逆pinv的区别