分别是:byte、short、char、int。对于枚举类型和字符串类型是从 Java 7 开始支持的。switch 的语法格式如下:switch(表达式){ case 匹配值: //语句 break; case 匹配值2: //语句 break; case 匹配值3: //语句 break; default:{ //上面的规则都不存在就执行默认的语句。 }} 执行顺序为: 先求...
case 浙菜 z -> System.out.println("顾客爱吃浙菜"); case 湘菜 x -> System.out.println("顾客以爱吃湘菜"); case String s -> System.out.println("客官重口味,爱吃川菜"); default -> System.out.println("客户啥都吃,也爱Java技术指北!"); }; } Java 17 中预览版switch支持null 以及 Object ...
public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY; } int numLetters = 0; Day day = Day.WEDNESDAY; switch (day) { case MONDAY: case FRIDAY: case SUNDAY: numLetters = 6; break; case TUESDAY: numLetters = 7; break; ...
在这个示例中,我们将模拟一个根据输入月份显示季节的程序。 // 引用形式的描述信息: 在 Java 类中编写 switch 块的代码publicclassSeasonChecker{publicstaticvoidmain(String[]args){intmonth=10;// 假设输入的月份是 10switch(month){case1,2,12->System.out.println("冬季");case3,4,5->System.out.printl...
在Java 17 之前,您永远无法将空值传递给 switch 语句,而不会引发空指针异常。 Java 17 允许您以这种方式处理它 casenull->"It is a null object"; 如果你有上面的 switch 表达式,如果你传递的对象为空,你将永远不会得到空指针异常。 这就是从 java 7 到 java 17 switch案例的全部内容。
case条件中直接涵盖了类型的判断和类型的转换,这个功能类似与Java 16中对instanceof的增强 每个case的处理逻辑用Lambda语法来实现,可以免去break语句(这是JDK 12中引入的特性) 另外,要注意的是,对于switch表达式中模式匹配的功能,JDK 17中的实现还是preview版本,所以了解为主,目前还不推荐用于正式环境,不排除后续有进一...
case条件中直接涵盖了类型的判断和类型的转换,这个功能类似与Java 16中对instanceof的增强 每个case的处理逻辑用Lambda语法来实现,可以免去break语句(这是JDK 12中引入的特性) 另外,要注意的是,对于switch表达式中模式匹配的功能,JDK 17中的实现还是preview版本,所以了解为主,目前还不推荐用于正式环境,不排除后续有进一...
Java 17中的switch表达式得到了改进,可以直接用于模式匹配。在switch表达式中,可以使用case标签后跟模式。 代码语言:java 复制 Stringresult=switch(obj){caseStrings->"字符串:"+s;caseIntegeri->"整数:"+i;default->"未知类型";}; 2.2 实际应用 继续以上面的动物类为例,我们可以使用switch表达式进行模式匹配: ...
首先,Java 17引入了switch表达式,这使得switch语句可以像表达式一样返回一个值。这意味着可以在switch语句中使用箭头(->)来执行一些操作并返回一个值。这种用法使得代码更加简洁和易读。 另外,Java 17还引入了新的语法,允许在switch语句中使用模式匹配。这意味着可以在case标签中使用模式来匹配变量的值,而不仅仅是常量...
这样就可以确保你的项目使用Java 17作为编译版本。 步骤2:修改旧有的Switch语句为新的Switch表达式 接下来,你需要找到你项目中的旧有Switch语句,将其修改为Java 17中新增的Switch表达式。例如,将下面的旧有Switch语句: switch(day){case1:System.out.println("Monday");break;case2:System.out.println("Tuesday")...