Java 中 switch 的用法 switch 中的表达式的数据的数据类型为 byte, short, int, char, String(jdk > 1.7支持 String 类型) 2、defa
switch 中的表达式的数据的数据类型为 byte, short, int, char, String(jdk > 1.7支持 String 类型)
2、default 可以放在任意一行,但是不管放在那一行,都会先找第一个case去匹配,如果所有的 case 都不匹配,才会执行 default,default 可以省略不写。
3、break 可以不写,就容易造成 switch 的穿透现象,如果匹配过一次或者执行过 default 之后,都不会再进行二次匹配了,但是语句体内容该执行还是会执行。
jdk 12 对 switch 进行扩展,使其可以用作语句或表达式。
标准方式,使用 break 防止 case 代码执行穿透。
使用 switch 标准方式编写代码太多的 break 造成代码冗余可读性不高,可以借助函数式接口和 lambda 表达式简化书写。
break 防止 case 代码执行穿透;
switch(seasonName){case "spring":System.out.println("spring time");case "Summer","Winter":numLetters = 6;break;case "Fall":numLetters = 4;break;default:numLetters = -1;}
switch(seasonName){case "Spring" -> {System.out.println("spring time");numLetters = 6;}case "Summer","Winter" -> numLetters = 6;case "Fall" -> numLetters = 4;default -> numLetters = -1;}
public class Test { enum Alpha {A, B, C, D, E;} public static void main(String[] args) { System.out.print(fun(Alpha.A)); } static char fun(Alpha alpha) { var r = switch (alpha) { case A -> 'a'; case B -> 'b'; case C -> 'c'; case D -> 'd'; default -> 'x'; }; return r; }}
String seasonName = "Spring"; int numLetters; numLetters = switch(seasonName){ case "Spring": System.out.println("spring time"); case "Summer","Winter": yield 6; case "Fall": yield 4; default: yield -1; }; System.out.println(numLetters);
int numLetters;numLetters = switch(seasonName){ case "Spring" ->{ System.out.println("spring time"); yield 6; } case "Summer","Winter" -> 6; case "Fall" -> 4; default -> -1;};
Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个年的 12 个月份,一个星期的 7 天,方向有东南西北等。
Java 枚举类使用 enum 关键字来定义,各个常量使用逗号 (,) 来分割。
颜色的枚举类
enum Color{ RED, GREEN, BLUE; }
以上枚举类 Color 颜色常量有 RED, GREEN, BLUE,分别表示红色,绿色,蓝色。
enum Color{ RED, GREEN, BLUE; } public class Test { public static void main(String[] args){ Color c1 = Color.RED; System.out.println(c1); } }
来源地址:https://blog.csdn.net/weixin_43955170/article/details/130030570
--结束END--
本文标题: Java 中 switch 的用法
本文链接: https://www.lsjlt.com/news/432743.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-03
2024-04-03
2024-04-01
2024-01-21
2024-01-21
2024-01-21
2024-01-21
2023-12-23
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0