java12新特性switch表达式优化
Java的switch语句是一个变化较大的语法(可能是因为Java的switch语句一直不够强大、熟悉swift或者js语言的同学 可与swift的switch语句对比一下,就会发现Java的switch相对较弱),因为Java的很多版本都在不断地改进switch语 句: JDK 12扩展了switch语句,使其可以用作语句或者表达式,并且传统的和扩展的简化版switch都可以使用。JDK 12对 于switch的增强主要在于简化书写形式,提升功能点。
JDK 12以前的switch程序
代码如下: public class Demo01{ public static void main(String[] args){ // 声明变量score,并为其赋值为"C" var score = "C"; // 执行switch分支语句 switch (score) { case "A": System.out.println("优秀"); break; case "B": System.out.println("良好"); break; case "C": System.out.println("中"); break; case "D": System.out.println("及格"); break; case "E": System.out.println("不及格"); break; default: System.out.println("数据非法!"); } } }
这是经典的Java 11以前的switch写法 ,这里不能忘记写break,否则switch就会贯穿、导致程序出现错误(JDK 11会 提示警告)。
JDK 12不需要break了
在JDK 12之前如果switch忘记写break将导致贯穿,在JDK 12中对switch的这一贯穿性做了改进。你只要将case后面 的冒号(:)改成箭头,那么你即使不写break也不会贯穿了,因此上面程序可改写如下形式: public class Demo02{ public static void main(String[] args){ // 声明变量score,并为其赋值为"C" var score = "C"; // 执行switch分支语句 switch (score){ case "A" -> System.out.println("优秀"); case "B" -> System.out.println("良好"); case "C" -> System.out.println("中"); case "D" -> System.out.println("及格"); case "E" -> System.out.println("不及格"); default -> System.out.println("成绩数据非法!"); } } }
上面代码简洁很多了。
JDK 12的switch表达式
Java 12的switch甚至可作为表达式了——不再是单独的语句。例如如下程序。 public class Demo03{ public static void main(String[] args){ // 声明变量score,并为其赋值为"C" var score = "C"; // 执行switch分支语句 String s = switch (score){ case "A" -> "优秀"; case "B" -> "良好"; case "C" -> "中"; case "D" -> "及格"; case "F" -> "不及格"; default -> "成绩输入错误"; }; System.out.println(s); } }
上面程序直接将switch表达式的值赋值给s变量,这样switch不再是一个语句,而是一个表达式.
switch的多值匹配
当你把switch中的case后的冒号改为箭头之后,此时switch就不会贯穿了,但在某些情况下,程序本来就希望贯穿比 如我就希望两个case共用一个执行体!JDK 12的switch中的case也支持多值匹配,这样程序就变得更加简洁了。例如 如下程序。 public class Demo04{ public static void main(String[] args){ // 声明变量score,并为其赋值为"C" var score = "B"; // 执行switch分支语句 String s = switch (score){ case "A", "B" -> "上等"; case "C" -> "中等"; case "D", "E" -> "下等"; default -> "成绩数据输入非法!"; }; System.out.println(s); } }
小结
从以上案例可以看出JDK 12对switch的功能做了很大的改进,代码也十分的简化,目前来看switch依然是不支持区间匹配的,未来是否可以支持,我们拭目以待。
10款热门爽肤水测评,原来它这么好用仙女们阿宝来啦!今天带来的是爽肤水的测评干货最近,有不少小可爱问我有啥好用的爽肤水,因为呼声太高了,贴心阿宝必须来安排一波(要被自己的善良给打动了)。不过在测评之前,还是跟你们分享
这10支口红可能是黄皮女孩的救世主对于女孩子而言,变美这件事,就像一场永无止境的课程。就算口红,虽然已经有了千百万支,但想要的永远是下一支。今天我们就来盘点10支近期优惠力度高又适合黄皮女孩的口红,建议码了慢慢看。
iPhone真的十三香了!加量还降价!(内附各地报价)小可爱们,最近几天心情澎湃吗?阿宝已经激动好几天了因为iPhone13终于发布了,加量不加价,这下真的十三香了。废话不多说,马上一起来看看iPhone13都有哪些亮点首先,一定要夸
这3款隔离霜超好用,用空瓶N支才敢来推荐嗡嗡嗡,勤劳小蜜蜂阿宝上线啦最近阿宝发现大家想要买东西的呼声日益高涨啊,看到很多小可爱留言说想要看隔离推荐。那今天就来跟大家唠嗑唠嗑阿宝用了N支空瓶的隔离,准备好了吗?注阿宝是混油
面霜评分排行榜来了!你的面霜多少分?今天是篇面霜评分排行榜评分是综合各网友使用情况得出,每个人使用感受不同,所以大家可以结合自己肤质去评估哦如果你有使用感绝佳的面霜,欢迎来留言区分享现在,让我们一起康康你的面霜可以打
来港易正式实行!内地赴港免隔离!今起可申请千呼万唤的来港易终于推行了!你赶上第一波预约了吗?如果没有的话也不要紧,自9月15日起,每逢周三零时零分将开放下一轮的预约名额,供非香港居民根据来港易计划,申请从广东省或澳门入境香
揭秘!7款超值得买的美白精华扛把子每年夏天最让人糟心的对话除了你胖了,一定是你晒黑了吗?讲真,不知从何开始,美白就变成了许多女生一年四季都谜之执着的大事。明星更拼,比如沈梦辰为了上镜显白,每次上节目都要全身涂满粉早
小ck夏季最值得入的包包,竟然是这8款?夏季到了,小ck又出新包啦!!大家发现没有,小ck的包包颜值真的是每次都很在线,款款都超级好看!就是让人忍不住想剁手剁手剁手的那种!最近阿宝去逛小ck,又发现了8款夏季最值得入的新
疯了!海免首届手袋节,LoeweCoach等包包享6倍积分论什么时候买到海南免税店的包包最划算?没错,就是现在!近期计划海南旅游的小仙女们,注意啦!!!海南免税店首届手袋节来袭,超多包包品牌日最高可享6倍积分,更有大牌奢侈品低至5折!手袋
注意!别再买这款润肤霜!已有人中毒小仙女们注意啦!注意啦!!千万别再买这款润肤霜了近日,香港卫生署卫生防护中心表示,接获医院管理局通报一宗涉及一名36岁女病人怀疑水银中毒个案。来源网络,侵删该名女病人在今年7月下旬
超暖心的520礼物!随便买都不会出错!(男女都有)母亲节一过,520又悄悄要来了不过,送礼物真的是个技术活,如果你是男生,礼物没选对,说不定520当天就喜获单身了!特别是直男式礼物,每年必踩雷!当然送男朋友礼物也是件很头疼的事,这
微信这2个设置不关闭,陌生人就能随意看到你的隐私,快告诉家人本文编辑今日头条作者维权骑士签约用户小俊技术分享独家原创制作未经授权严禁转载,发现抄袭者将进行全网维权投诉分享生活小妙招,享受科技新生活!大家好,欢迎来到今天的知识分享!我是你们的
禁止蹭热点,阿里申请元宇宙商标被驳回国内各大巨头正争相布局自己的元宇宙,但商标申请并不太顺利。近日,据公开信息显示,阿里巴巴新加坡控股有限公司申请注册的淘宝元宇宙阿里元宇宙商标,流程状态均变更为驳回通知发文,被驳回商
元宇宙实现的核心要素,XR高通已潜心布局十余年此前,高通联合一众XR生态链上的小伙伴,开启了一年一度的2022QualcommXR创新应用挑战赛。在元宇宙风暴席卷全球的当下,这场在XR产业久负盛名的重要赛事,更是得到了得到行业
2022数博会聚焦前沿热点科技侧重创新成果转化由于疫情影响,2022中国国际大数据产业博览会改在5月26日线上进行。虽然没有了往届嘉宾云集展会连场的盛况,但本届数博会紧扣抢数字新机享数字价值的年度主题,在论坛设置成果发布上聚焦
断供后20万亿灰飞烟灭!比尔盖茨感叹我们的根基动摇了科技巨头打开潘多拉盒子如果说谁是经济全球化最大的受益者,那么答案非美国科技企业莫属。凭借着在早期技术上的领先,包括微软苹果亚马逊特斯拉英伟达英特尔在内的众多科技企业在这场全球化盛宴
无货源电商骗局在这个互联网发达的年代,电商行业发展迅速,有许多人靠着电商发了财,很多人就想着自己也能发财,便准备加入这个行业,但想加入这个行业得有货源和仓库啊!这个就难道了很多人,需要的资金投入
C函数snprintf的用法和避免踩坑snprintf函数是C语言中非常常用的一个函数,它的作用是格式化一段文本放到指定的缓存中。和它类似的还有sprintf,vsnprintf等。它们都完成类似的功能,但又有些区别,
东数西算背后的大棋局出品极新从我国产业构成的角度来说,信息技术已然在经济增长中占据了重要作用。在一些其他产业逐渐沦为夕阳产业之时,信息技术产业仍然保持着旺盛的生命力,从增长率的角度上来说,信息技术的带
马斯克的套现戏法改造推特蓝图浮出水面近期,全球首富知名连续创业者埃隆马斯克正忙于为推特描绘未来改造的蓝图。这笔价值440亿美元的收购案,需要一笔数量可观的外界注资。据了解,马斯克向19家知名投资机构兜售了自己的商业蓝
怎么评价Acer刚刚发售的AspireS24一体机?谈及工业设计,或许很多人脑海中跳出的第一个品牌就是苹果,但市场上已经涌现出很多不亚于苹果的优秀产品,今天要给大家介绍的AspireS24就是这样一款产品。在相似的尺寸下,Acer推
腾讯绝地求生何时出?emmm,首先可以肯定的是国服的吃鸡大概率被企鹅代理了。这个之前WEGAME之前的微博应该稳了,其实呢,被企鹅代理有好有坏的。大家心里也都有数了。先说下好处吧。企鹅庞大的用户群,年