2. switch表达式与yield[JEP 361] 在Java 17中,引入了switch表达式(Switch Expressions)、yield关键字与->符号。 可以在标签case(label case)中使用yield关键字返回一个值。 示例代码如下所示: publicclassSwitchMain{publicstaticvoidmain(String[] args){Stringday="Monday";Stringr=switch(day) {// switch表达式...
package com.morris.java17; /** * switch表达式yield的使用 */ public class SwitchYieldDemo { public static void main(String[] args) { Month month = Month.APRIL; String season = switch (month) { case DECEMBER, JANUARY, FEBRUARY -> "winter"; case MARCH, APRIL, MAY -> { System.out.prin...
String adjacentColor=switch(color){caseBlue,Green->"yellow";caseRed,Purple->"blue";caseYellow,Orange->"red";default->{System.out.println("The color could not be found.");yield"Unknown Color";}}; 在默认 case 里,System.out.println() 方法将被执行,adjacentColor 变量最终的值是“Unknown Color...
private static void 小14结账(指北君特色菜 特色菜) { var 菜价 = switch (特色菜) { case 水煮肉片 -> 10000; case 白切贵妃鸡,水晶肴肉 -> 20000; case 扳指干贝,九转大肠,西湖醋鱼 -> { System.out.println("客官 :好吃好吃,指北君特色菜果然好吃 !!!"); yield 30000; } case 霸王别姬,当归...
yield "This is IT Employee";}switch预览版扩展了Java中的模式语言,允许switch针对多个模式测试表达式和语句,每个模式都有特定的操作。Java 17已经引入guarded模式,允许模式匹配逻辑用任意布尔表达式。您可以在case标签本身中进行检查,如下所示:return switch (obj) { case Integer i -> "It is an integer"; case...
getDept().equals("IT")) { yield "This is IT Employee"; } 但是Java 17 引入了“保护模式”。您可以在案例标签本身中进行此检查,如下所示 return switch (obj) { case Integer i -> "It is an integer"; case String s -> "It is a string"; case Employee employee && employee.getDept()....
switch语句:Day day = Day.WEDNESDAY; int numLetters = switch (day) { case MONDAY: case FRIDAY: case SUNDAY: System.out.println(6); yield 6; case TUESDAY: System.out.println(7); yield 7; case THURSDAY: case SATURDAY: System.out.println(8); yield...
您可以在“旧” switch 语法中使用 yield 关键字也很酷。这里不需要 break。private static void oldStyleWithYield(FruitType fruit) { System.out.println(""" *** * Old style with yield * ***"""); System.out.println(switch (fruit) { case APPLE, PEAR: yield "Common fr...
如果你想在case里做不止一件事,比如在返回之前先进行一些计算或者打印操作。可以通过大括号来作为case块,最后的返回值使用关键字yield进行返回。 代码语言:javascript 代码运行次数:0 运行 AI代码解释 String a="spring";String who=switch(a){case"jdk8","jdk17"->{System.out.println(1+1);yield"我是jdk家...
此外,Java 17还引入了“yield”关键字,它可以与switch表达式一起使用,用于返回一个值。这使得在switch语句中执行操作并返回一个值变得更加简洁和直观。 总的来说,Java 17对switch语句的改进使得它更加灵活和强大,可以更好地处理不同的情况,并且提供了更简洁和易读的语法。这些改进使得编写和理解代码变得更加方便和高...