java中的 switch-case   开关语句,大家应该都不陌生。

常见的是使用方式是这样的:

switch (clock) {case 1:System.out.println(1);break;case 2:System.out.println(2);;break;case 3:System.out.println(3);break;default :System.out.println(100);break;
}

但有时候因为业务需要,需要根据一个范围去进行操作,那该怎么办呢?

此时用到了三目运算符,相等于多个if-else嘛。只是看起来简洁一些。

这里我创建了一个临时变量(temp),利用三目表达式将范围值变为具体值,这样只需更改问号之后的值即可。

使用&而不使用&&,是因为&&前的表达式如果不成立,&&后面的表达式就不会执行。

而&前后的表达式都会执行,&和&& 都一样  前后表达式都为true  则为true;

则根据自己的业务灵活运用。

 /*** 根据传入的分钟 1~1440,将对应的时间段+1 * @param localTime*/
public void setClockPushOne(int localTime) {
int temp = 0;
int clock = localTime>=temp&localTime<(temp+=60)?0:localTime>=temp&localTime<(temp+=60)?1:localTime>=temp&localTime<(temp+=60)?2:localTime>=temp&localTime<(temp+=60)?3:localTime>=temp&localTime<(temp+=60)?4:localTime>=temp&localTime<(temp+=60)?5:localTime>=temp&localTime<(temp+=60)?6:localTime>=temp&localTime<(temp+=60)?7:localTime>=temp&localTime<(temp+=60)?8:localTime>=temp&localTime<(temp+=60)?9:localTime>=temp&localTime<(temp+=60)?10:localTime>=temp&localTime<(temp+=60)?11:localTime>=temp&localTime<(temp+=60)?12:localTime>=temp&localTime<(temp+=60)?13:localTime>=temp&localTime<(temp+=60)?14:localTime>=temp&localTime<(temp+=60)?15:localTime>=temp&localTime<(temp+=60)?16:localTime>=temp&localTime<(temp+=60)?17:localTime>=temp&localTime<(temp+=60)?18:localTime>=temp&localTime<(temp+=60)?19:localTime>=temp&localTime<(temp+=60)?20:localTime>=temp&localTime<(temp+=60)?21:localTime>=temp&localTime<(temp+=60)?22:                                                                                                                                                                                                                        localTime>=temp&localTime<=(temp += 60) ? 23 :100;switch (clock) {case 0:++zero_and_one;break;case 1:++one_and_two;break;case 2:++two_and_three;break;case 3:++three_and_four;break;case 4:++four_and_five;break;case 5:++five_and_six;break;case 6:++six_and_seven;break;case 7:++seven_and_eight;break;case 8:++eight_and_nine;break;case 9:++nine_and_ten;break;case 10:++ten_and_eleven;break;case 11:++eleven_and_twelve;break;case 12:++twelve_and_thirteen;break;case 13:++thirteen_and_fourteen;break;case 14:++fourteen_and_fifteen;break;case 15:++fifteen_and_sixteen;break;case 16:++sixteen_and_seventeen;break;case 17:++seventeen_and_eighteen;break;case 18:++eighteen_and_nineteen;break;case 19:++nineteen_and_twenty;break;case 20:++twenty_and_twenty_one;break;case 21:++twenty_one_and_twenty_two;break;case 22:++twenty_two_and_twenty_three;break;case 23:++twenty_three_and_zero;break;default:throw new RuntimeException("clock transform error");}

Java中Switch-case语句,case一个范围、区间,使用三目运算符解决!相关推荐

  1. Java中Switch选择语句的用法

    Switch语句的形式: Switch(表达式) {case 常量:语句;break;case 常量:语句;break;...default:语句; } 举例 根据输入的数字判断月份: public ...

  2. Java 中 switch 的用法

    Java 中 switch 的用法 1.switch 中的表达式的数据的数据类型为 byte, short, int, char, String(jdk > 1.7支持 String 类型) 2 ...

  3. 11、Java中的分支语句

    Java中的分支语句 作者:韩茹 公司:程序咖(北京)科技有限公司 程序咖:IT职业技能评测平台 网址:https://www.chengxuka.com 任务 1.程序的执行结构 2.分支语句 3. ...

  4. java中switch用法举例范围_Java中Switch用法代码示例

    一.java当中的switch与C#相比有以下区别 注:在java中switch后的表达式的类型只能为以下几种:byte.short.char.int(在Java1.6中是这样), 在java1.7后 ...

  5. Java中的条件语句

    Java中的条件语句 1.if条件语句 (1)简单的if条件语句 语法如下: if(布尔表达式){语句序列 } ①布尔表达式:必要参数,表示最后返回的结果必须是一个布尔值.可以只是一个布尔值变量或者常 ...

  6. JAVA基础——Switch条件语句

    JAVA基础--switch 条件语句 switch语句结构: switch(表达式){case值1:语句体1:break:case值2:语句体2:break:case值3:语句体3:break:.. ...

  7. 品味性能之道十一:JAVA中switch和if性能比较

    通常而言大家普遍的认知里switch case的效率高于if else.根据我的理解而言switch的查找类似于二叉树,if则是线性查找.按照此逻辑推理对于对比条件数目大于3时switch更优,并且对 ...

  8. Java中switch都可以支持哪些数据类型

    Java中switch都可以支持哪些数据类型 在JDK1.5之前,switch循环只支持byte short char int四种数据类型. JDK1.5 在switch循环中增加了枚举类与byte ...

  9. java中的foreach语句

    在java中,foreach语句是for语句的特殊简化版本,在遍历数组等方面为程序员提供了很大的方便,语法格式如下: for(元素变量 x : 遍历对象 obj) { 引用了x的java语句: } f ...

  10. 在java中使用关键字导入包_在Java中,若要使用一个包中的类时,首先要求对该包进行导入,其关键字是( )。...

    [单选题]声明公用的abstract方法的正确格式是( ). [单选题]在创建对象时必须( ). [单选题]目前公认的酶与底物结合的学说是 [填空题(主观)]层理的常见类型有哪些? [单选题]关于网页 ...

最新文章

  1. jq 直接调用php文件_PHP的函数类别和变量命名
  2. A Quick Guide For Windows 2008 Server Core
  3. AI公开课:19.04.18俞益洲—深睿医疗CS《计算机视觉的应用与落地》课堂笔记以及个人感悟
  4. Centos7 yum安装Python3.6环境,超简单
  5. 【教育与多媒体技术】
  6. jetty xml解析
  7. 简单的动态JavaScript Ajax函数
  8. Python进程学习笔记-多进程修改全局变量
  9. selenium+python在Windows的环境搭建
  10. SeetaFace人脸识别系统
  11. 磁力泵的结构特点及使用与维修
  12. 业界软件测试工程师认证(ISTQB)
  13. python爬虫爬取百度图片
  14. pcap报文80211-8023区别
  15. linux安装razer鼠标驱动
  16. redis 通道 java_【java】netty4,服务端向客户端主动发消息怎么把channel存储到redis缓存中?...
  17. linux rtc与时钟
  18. 如何给图片添加黑色边框
  19. vMotion迁移报错提示目标主机不支持虚拟机的当前硬件要求
  20. 华为怎么改输入法皮肤_华为输入法

热门文章

  1. 序列的平稳性与纯随机性检验,模型的有效性,参数的显著性,最优模型准则AIC,SBC
  2. 弘辽科技:拼多多前期开店运营技巧。
  3. 【智慧城市】材质调整-C4D和UE5的模型和材质如何统一
  4. Linux下安装matlab
  5. APPnium-IOS自动化测试
  6. 使用FitHiC评估染色质交互作用的显著性
  7. FAILED: esp-idf/mbedtls/x509_crt_bundle 报错的解决办法及信息来源esp32编译错误
  8. day3-基础数据类型(int、bool、str)
  9. ARM处理器运行模式
  10. fork: retry:资源暂时不可用