100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Java中Switch-case语句 case一个范围 区间 使用三目运算符解决!

Java中Switch-case语句 case一个范围 区间 使用三目运算符解决!

时间:2020-04-15 13:31:36

相关推荐

Java中Switch-case语句 case一个范围 区间 使用三目运算符解决!

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");}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。