临汾山东漯河饰品美体美文
投稿投诉
美文创意
爱情通信
用品婚姻
爱好看病
美体软件
影音星座
瑜伽周边
星座办公
饰品塑形
搞笑减肥
幼儿两性
智家潮品
漯河衢州
兴义眉山
桂林阳泉
玉溪简阳
山东遂宁
永城新余
梧州洛阳
泸州温州
临汾清远
营口常熟
浙江大连
桐乡宜昌

Switch语句从Java7到Java17的演变

9月25日 终离去投稿
  概述
  自java7以来,java中的Switch语句经历了快速的演变。因此,在本文中,我们将举例讨论switch语句从java7到java17的演变或变化。
  让我们从初始java7开始Java7:Switch语句
  在Java7之前,Switch语句的判断条件只能接受int,byte,char,short类型的参数,这是很长一段时间以来的标准:intvalue5;switch(value){case1:System。out。println(One);case5:System。out。println(five);default:System。out。println(Unknown);}Java8:Switch语句
  在Java8中,case值和switch语句开始演化时引入了字符串和枚举字符串SwitchCase语句举例:StringdayTswitch(day){caseMonday:System。out。println(Weekday);caseTuesday:System。out。println(Weekday);caseWednesday:System。out。println(Weekday);caseThursday:System。out。println(Weekday);caseFriday:System。out。println(Weekday);caseSaturday:System。out。println(Weekend);caseSunday:System。out。println(Weekend);default:System。out。println(Unknown);}枚举SwitchCase语句举例:enumDAYS{MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY}DAYSdaysDAYS。SUNDAY;switch(days){caseMONDAY:System。out。println(Weekdays);caseTUESDAY:System。out。println(Weekdays);caseWEDNESDAY:System。out。println(Weekdays);caseTHURSDAY:System。out。println(Weekdays);caseFRIDAY:System。out。println(Weekdays);caseSATURDAY:System。out。println(Weekends);caseSUNDAY:System。out。println(Weekends);default:System。out。println(Unknown);}Java12:Switch语句
  Java12进一步增强了switch语句,并引入了switch表达式作为预览特性。
  它引入了一系列新功能:当switch语句变成了switch表达式时,您可以从一个switch块中返回case中可以有多个值您可以通过箭头操作符或break关键字从switch表达式返回值,通过break关键字返回值returnswitch(day){caseMonday:breakWcaseTuesday:breakWcaseWednesday:breakWcaseThursday:breakWcaseFriday:breakWcaseSaturday:breakWcaseSunday:breakWdefault:breakU};break关键字返回结果值
  这个词后来在Java13中被关键字yield取代。returnswitch(day){caseMonday:yieldWcaseTuesday:yieldWcaseWednesday:yieldWcaseThursday:yieldWcaseFriday:yieldWcaseSaturday:yieldWcaseSunday:yieldWdefault:yieldU};通过箭头操作符返回值
  此外,Java12引入了箭头操作符作为简单的替代,而不是使用break关键字返回值:returnswitch(day){caseMondayWcaseTuesdayWcaseWednesdayWcaseThursdayWcaseFridayWcaseSaturdayWcaseSundayWdefaultU};多个case标签
  同样,Java12也可以在一个case语句中提供多个case值,所以如果你观察上面的例子,因为有5个case在这里期望相同的值,所以我可以合并或合并多个case值为一个,如下所示returnswitch(day){caseMonday,Tuesday,Wednesday,Thursday,FridayWcaseSaturday,SundayWdefaultU};Java14:Switch语句的改变
  我们在java12和13中讨论过的任何switch语句和特性,都是预览特性,需要将flagenablepreview设置为true。但是Java14让所有的特性都不再是预览特性。标志enablepreview在java14启动时不需要设置。并且switch语句已经演变成switch表达式!
  Java17:Switch语句表达式:
  JDK17已经发布,这是一个LTS(longtermsupport)版本,下一代的SpringFramework6和SpringBoot3(2022下半年发布),也将基于JDK17。由此可以推测,JDK17可能会和JDK8一样,也成为未来Java项目使用的主力版本。
  所以,现在才开始学Java的,可以直接学用JDK17。如果使用老版本学习资料进行学习,至少从JDK8开始,而JDK8之前的书,基本上都可以送废品收购站了。
  开关表达特性模式匹配Gaurded模式nullcase模式匹配
  它引入了一种新的开关特性,即模式匹配。您可以匹配case标签中的模式。换句话说,你可以在switch条件下传递对象,这个对象可以在switchcase标签中检查不同类型。returnswitch(obj){caseIntegeriIcaseStringsIcaseEmployeesItisaEdefaultI};
  在上面的例子中,我将一个对象传递给switch条件。这在Java17之前是不可能的。然后可以检查该对象是否具有特定的数据类型,并将其赋值给一个变量。
  例如,考虑以下情况:caseIntegeriI
  传递的对象被检查类型为Integer,然后赋值给变量i,如果它是一个整数。通过箭头操作符返回字符串Itisaninteger。Gaurded模式
  让我们以这个用例为例。
  在我检查了Employee实例的case标签内,我想做一个额外的检查。
  传统上,你可以在案例陈述之后做这个。
  是这样的:caseEmployeeemp:if(emp。getDept()。equals(IT)){yieldThisisITE}
  switch预览版扩展了Java中的模式语言,允许switch针对多个模式测试表达式和语句,每个模式都有特定的操作。Java17已经引入guarded模式,允许模式匹配逻辑用任意布尔表达式。您可以在case标签本身中进行检查,如下所示:returnswitch(obj){caseIntegeriIcaseStringsIcaseEmployeeemployeeemployee。getDept()。equals(IT)ITEdefaultI};NullCase
  在Java17之前,你不可能在不抛出空指针异常的情况下将空值传递给switch语句。
  Java17允许您这样处理它:
  casenull它是一个空对象;
  这就是从java7到java17的转换过程。
  希望你喜欢这篇文章,点赞并且关注,学习更多java以及大数据优质知识。
投诉 评论 转载

常吃唑吡坦舍曲林曲唑酮米氮平多塞平有何危害和禁忌?好医生为健康护航唑吡坦属于咪唑吡啶类新型安眠药,是一种速效安眠药,其作用机制与苯二氮类药物相似,主要作用于苯二氮受体,只是结合方式不同,通过选择性地与苯二氮I型受体2或1……备孕需要做哪些准备?当你享受过了二人世界的幸福,开始觉得好像缺少了点什么,会不会想要一个爱情的结晶,品尝生活的另一种滋味?为了生一个聪明健康的好宝宝,在怀孕前可要做好充分准备哦,至少要给自己……消食化痰养阴润肺!秋季要食柚子百合煲排骨广东省中医院临床营养科推荐主要功效:消食化痰、养阴润肺。材料:柚子白囊2个、百合20g、排骨300g、红枣6枚、枸杞5g、生姜适量(34人量)。烹调方法……面对亲人逝去,如何寻找内心深处想要的答案我的奶奶在我今年回家无比幸福的团圆回来之后几天去世了。我完全没有任何心理准备,一心还沉浸在幸福的喜悦和对未来的期待中,期待着接她过来看看。因为疫情我无法回去送她最后一程,这是我……Switch语句从Java7到Java17的演变概述自java7以来,java中的Switch语句经历了快速的演变。因此,在本文中,我们将举例讨论switch语句从java7到java17的演变或变化。让我们从初……现有库存够1400万人居住,楼市又迎高库存时代?这两年的疫情,对各行各业都造成了一定的影响,而房地产是其中受影响较大的行业之一。自去年以来,包括恒大、佳兆业、融创中国等多家房企陷入流动性危机,频频暴雷。由于房地产行情低……摇摇欲坠的古戏台作者:郭继明她很像挂在枝条上的一枚枯叶只要风轻轻一吹便摇摇欲坠她从不开口提起明朝的清风明月默默的说起来就老泪纵横她一而再再而三的挣扎下去困境……AlbertaFerretti2022早秋系列欣赏漫步在永恒之城无虑游走,踏入关乎时空的故事,着AlbertaFerretti2022早秋系列。橄榄绿对撞卡其色系,悄无声息敛蕴萧瑟秋意。AlbertaFerretti20……长期失眠睡不着怎么办?中医教你一招,让你夜夜好眠大家好,我是中医教授初杰。在失眠人群中,除入睡困难外,半睡半醒同样也是大多数失眠人的常见表现,而这往往会影响到睡眠的质量,进而影响记忆力。对付失眠应该怎么办呢?失眠,在中……幕幕惊心,外国小伙冒险深入俄罗斯乌拉尔极地寻找帝王绿翡翠翡翠是四大名玉之一,在国外也深受外国人的喜爱特别是高档翡翠,每年佳士得拍卖会拍出的高价玉石前五名就是翡翠!翡翠成了全球热于收藏的宝石,因此激起了一批冒险寻玉的人!国外就有一个小……摩托罗拉X30Pro配置曝光,我们来了解一下我们期待已久的摩托罗拉X30Pro配置已经曝光了,相信网友们也有所耳闻了,为什么说是期待已久呢?其一是想看看摩托罗拉如何给骁龙8定价?二是想看看这次的两亿像素怎么样?这里……6000毫安超电池80W快充LCD屏,1499起新千元续航电最近这几天手机数码圈突然传来了,关于iQOO即将给广大消费者带来全新的iQOOZ5新版本的消息。或许正是因为iQOOZ5这款手机的核心配置并没有做出过多的改变,主要是在续航表现……
还得是卢伟冰!RedmiK60实力硬刚iQOONeo7竞速版官宣索尼影像新品定档9月6日撞上华为新机发布会冬吃萝卜有讲究,冬吃水果请牢记这些应季吃法探索里贝拉峡谷见证巴西的可持续旅游人生,人生孤独症孩子需要做口肌训练吗?爸爸,你有毛,是不是得了有毛的病,就是有毛病?抢得莫伊塞斯,海港或重温联赛冠军之梦离开梅西内马尔的姆巴佩不神气了,球队13输球医药行业整体逻辑梳理合创A06正式上市!外观帅气,实力不俗,售价17。98万起不要随便谈恋爱儒商与企业文化的魅力企业文化管理者的单边文化第一个应该对得起的人,是你自己人生旅途(26)三星惊艳新机A73发布,三星A50首当其冲跌至谷底价让路健康需要圆医学关于重阳节感恩的作文600字机油要怎么清洗才干净机油用什么能洗掉落叶的声音二零零八年记忆阳光篇心中的一抹绿国家赔偿多少钱的标准发放?叛逆的石头试论论文西班牙温泉之城奥伦塞看着星星泡露天温泉

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找