case 常量表达式1:语句1; ... case 常量表达式2:语句2; default:语句; } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. switch的用法是判断case后面的表达式和switch后面的表达式是否相匹配,一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break。 如上所给的代码中,...
在之前的Java 17新特性中,我们介绍过关于JEP 406: switch的模式匹配,但当时还只是关于此内容的首个预览版本。之后在JDK 18、JDK 19、JDK 20中又都进行了更新和完善。如今,在JDK 21中,该特性得到了最终确定!下面,我们就再正式学习一下该功能! 在以往的switch语句中,对于case中的类型匹配限制是很多的。比如下面...
case Integer i -> log.info(i.toString()); default -> log.info(""); } 这个功能还是非常有用的,尤其是存在一些抽象封装的时候,可能存在一些父子、兄弟等关系类的时候,为了判断是什么类型,就不用写很多if来处理了,代码简洁度可以得到进一步的优化。 对于上面的例子,还没有升级到Java 17的用户,还涉及两个...
case时可以加入复杂表达式: static void testCaseExpression(Object o) { switch (o) { case String s when s.equalsIgnoreCase("YES") -> System.out.println("You got it"); case String s when s.equalsIgnoreCase("NO") -> System.out.println("Shame"); default -> System.out.println("Sorry?");...
在JDK 21中,Switch模式匹配采用了一种新的语法结构,允许开发者在switch语句中使用类型检查和模式匹配。新的语法结构使用switch关键字开始,后跟要匹配的表达式。然后,每个case分支使用箭头(->)分隔匹配模式和要执行的代码块。如果没有匹配到任何模式,可以使用default分支作为备选。
switch case 语句有如下规则:switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。 switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。 case 语句中的值的数据类型必须与变量的...
// Prior to Java 21 staticvoidtestFooBar(String s) { if(s ==null) { System.out.println("Oops!"); return; } switch(s) { case"Foo","Bar"-> System.out.println("Great"); default-> System.out.println("Ok"); } } switch当仅支持少数引用类型时,这是合理的。但是,如果switch允许任何引...
在之前的Java17 新特性中,我们介绍过关于 switch的,但当时还只是关于此内容的首个预览版本。之后在 JDK 18、JDK 19、JDK 20 中又都进行了更新和完善。如今,在 JDK 21 中,该特性得到了最终确定!下面,我们就再正式学习一下该功能! 在以往的 switch 语句中,对于case中的类型匹配限制是很多的。比如下面这个例子...
staticvoidtestFooBar(Strings){switch(s){casenull->System.out.println("Oops");case"Foo","Bar"->System.out.println("Great");default->System.out.println("Ok");}} 3.总结 以上就是Java21新特性 – switch模式匹配的全部内容,如有补充请留言。
Switch case语句 语法 Switch() {case} 注意:case穿透现象:当case语句块中没有break语句时,会继续执行下面的case直到碰到break为止 publicclassDemo04{publicstaticvoidmain(String[] args){chargrade='C';switch(grade) {case'A': System.out.println("优秀");break;case'B': ...