1、在 Java 中,if 和 switch 哪一个执行效率更高? 2、 底层 switch 使用了几种表结构? 3、switch 可以匹配的数据类型? 4、switch 是如何匹配枚举类型的? 5、switch 在底层是如何匹配字符串类型的? 1、在 Java 中,if 和 switch 哪一个执行效率更高? 结论:switch 平均更快 public class Animal...
public int getByJDK17(Week week) { // 1, 现在的switch变成了表达式,可以返回值了,而且支持yield和->符号来返回值 // 2, 再也不用担心漏写了break,而导致出问题了 // 3, case后面支持写多个条件 return switch (week) { case null -> -1; case MONDAY -> 1; case TUESDAY -> 2; case WEDNESD...
java17的写法,switch必须覆盖所有可能的情况,如果是枚举,就必须包含所有值 publicclassTestSwitch{publicstaticvoidmain(String[] args){ test1("*",5,6); }privatestaticvoidtest1(String sign,intnum1,intnum2){intret=switch(sign) {case"+"-> { System.out.println("this is add"); yield num1 + num...
如果case中没有包含枚举中所有的值, 必须写default //注意: 如果case中包含了所有的值, 可以不写default. //如果case中没有包含枚举中所有的值, 必须写default switch (Method.Add){ case Method.Add: print("加法") case Method.Sub: print("减法") case Method.Mul: print("除法") case Method.Div: ...
根据上面介绍的switch语法结构,壹哥再给大家详细说一下switch的语法规则和要求。● switch(值)语句中的”值“,支持的类型有如下几类:● 整型:byte、short、int 、char及其对应的包装类;● 枚举类型,从JDK 5开始支持(后面壹哥会详细讲解枚举类型);● String类型,从JDK 7开始支持,同时case标签后的值必须是...
#Java 17: Switch语句/表达式: JDK 17已经发布,这是一个LTS( long-term support)版本,下一代的Spring Framework 6和Spring Boot 3(2022下半年发布),也将基于JDK 17。由此可以推测,JDK 17可能会和JDK 8一样,也成为未来Java项目使用的主力版本。所以,现在才开始学Java的,可以直接学用JDK 17。如果使用老版本...
switch switch 语言主要是控制表达式和多个 case 标签的组合。和上面说到的 if 不同的是, switch 的语言后面对应的表达式有类型的限制。 并且不同的 JDK 版本也不一样。 对于 Java 7 以下, 只有四种数据类型。分别是:byte、short、char、int。对于枚举类型和字符串类型是从 Java 7 开始支持的。switch 的语法...
在Java中,可以使用枚举类型作为Switch语句的条件。以下是一个示例: public class EnumSwitchExample { enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } public static void main(String[] args) { Day day = Day.MONDAY; switch (day) { case MONDAY: System.out.println("It'...
1.switch语法 switch(表达式){ case 值1: 语句; break; case 值2: 语句; break; ... default: 语句; } case 值:case翻译过来就是情况、实例的意思,那么这句可以理解为当switch(表达式)的结果为case中的值时,则执行该case下的语句。 2.switch在枚举的实例 Java1.5...