赞
踩
目录
根据版本,在java14开始, switch语句有了一个很大的调整, 这就让swicth语句有了更多的操作和选择,在代码上,更加的简便灵活.
注意: 其中, flag的类型必须为char, int, short, byte, String, enum(枚举), 其余类型均不可取.
- switch (flag){
- case 0 : 语句一; break;
- case 1: 语句二; break;
- default: 语句n; break;
- }
->的用法其实只是相当于不用输入break用以跳出判断, 保证其只有一条分支可走.
- switch (flag){
- case 0 -> 语句一;
- case 1 -> 语句二;
- default -> 语句n;
- }
switch yield 的用法可以理解为把switch()当做一个方法去使用, 将方法的返回语句return改为yield返回, 但需要注意的是, 使用switch yield时, 必须有一个对应的变量在外面接收返回值.
switch作为了一条语句, 所以末尾要加冒号, 其他用法相同, 下次如果条件很多的话, 就不用使用 if else, 可以考虑使用switch中的yield返回参数方式了.
以下是一个判断当天所在年月当月天数的示例代码, 使用的为switch yield用法:
实例代码:
- public static void main(String[] args) {
- Calendar c = Calendar.getInstance();
- int year = c.get(Calendar.YEAR);
- int month = c.get(Calendar.MONTH) + 1; //0-11
- int days = switch (month) {
- case 1, 3, 5, 7, 8, 10, 12 -> {
- int s = 5;
- yield 31;
- }
- case 4, 6, 9, 11 -> 30;
- case 2 -> year % 400 == 0 || year % 4 == 0 && year % 100 != 0 ? 29 :
- 28;default -> 31;
- };
- System.out.printf("%d年%d月有%d天%n", year, month, days);
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。