java中switch语句的应用

从Java14开始,switch语句有了新的改进,包括更简洁的语法和yield返回值。switch->允许省略break,使代码流程更清晰;switchyield则将switch表达式作为一个方法,通过yield返回结果。示例展示了如何用新的switch语句计算特定月份的天数。
摘要由CSDN通过智能技术生成

目录

1. switch的标准方式:

2. switch - > 的用法: 

3. switch yield的用法

        根据版本,在java14开始, switch语句有了一个很大的调整, 这就让swicth语句有了更多的操作和选择,在代码上,更加的简便灵活.

        

  • Java中switch的三种用法详解:
    • switch 标准方式
    • switch - > 用法
    • switch yield 用法

1. switch的标准方式:

        注意:  其中, flag的类型必须为char, int, short, byte, String, enum(枚举), 其余类型均不可取.

switch (flag){
    case 0 : 语句一; break;
    case 1: 语句二; break;
    default: 语句n; break;
}

2. switch - > 的用法: 

        ->的用法其实只是相当于不用输入break用以跳出判断, 保证其只有一条分支可走.

switch (flag){
​    case 0 -> 语句一;
    case 1 -> 语句二;
    default -> 语句n;
}

3. switch yield的用法

        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);
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值