Java21 如何使用switch case

1. Java8 和 Java21

Java8 引入字符串和枚举

Java21 可以返回值, yield关键字, switch 表达式, 模式匹配, null值处理

2. 代码案例

1. Java8

 public static void java8() {
        String day = "tuesday";
        switch (day) {
            case "monday":
                System.out.println("work");
                break;
            case "tuesday":
                System.out.println("work");
                break;
            case "saturday":
                System.out.println("day off");
                break;
            case "sunday":
                System.out.println("day off");
                break;
        }
         //枚举值monday,tuesday,wednesday,thursday,friday,saturday,sunday;
        Days days = Days.saturday;
        switch (days) {
            case Days.monday:
                System.out.println("work");
                break;
            case Days.tuesday:
                System.out.println("work");
                break;
            case Days.saturday:
                System.out.println("day off");
                break;
            case Days.sunday:
                System.out.println("day off");
                break;
        }
    }

运行结果

20240112010117

2. Java21

 public static String java21() {
        //null 处理
        var name = switch (getName()) {
            case "" -> "";
            case "1" -> "num";
            case null -> "null";
            default -> "unknown";
        };
        System.out.println(name);
        //模式匹配
        Object o = 1;
        Object a = switch (o) {
            case Integer i -> 1 + i;
            case String s -> "1" + s;
            default -> o.toString();
        };
        System.out.println(a);
        //yield , 表达式
        String day = "sunday";
        return switch (day) {
            case "monday", "tuesday" -> "work";
            case "saturday", "sunday" -> {
                System.out.println("day off");
                yield "work";
            }
            default -> "unknown";
        };

    }

    static String getName() {
        return null;
    }

运行结果

![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/1670ab90491845e7837694481e89eab7.png
java21运行结果

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java中,switch case语句是一种用于多分支选择的语句。它可以根据一个表达式的值,从多个选项中选择一个执行。以下是Java使用switch case语句的基本语法: ``` switch(expression) { case value1: // 执行代码块 1 break; case value2: // 执行代码块 2 break; ... default: // 执行默认代码块 } ``` 其中,expression是一个表达式,它的值将与每个case子句中的值进行比较。如果expression的值与某个case子句中的值相等,则执行该case子句中的代码块。如果没有匹配的case子句,则执行default子句中的代码块(如果有)。 在每个case子句中,可以编写要执行的代码块,并使用break语句来终止switch语句。如果没有break语句,则会继续执行下一个case子句中的代码块,直到遇到break语句或switch语句结束为止。 以下是一个简单的示例,演示如何使用switch case语句: ``` int day = 3; String dayName; switch (day) { case 1: dayName = "Monday"; break; case 2: dayName = "Tuesday"; break; case 3: dayName = "Wednesday"; break; case 4: dayName = "Thursday"; break; case 5: dayName = "Friday"; break; case 6: dayName = "Saturday"; break; case 7: dayName = "Sunday"; break; default: dayName = "Invalid day"; break; } System.out.println(dayName); ``` 在上面的示例中,我们使用switch case语句根据一个整数值来选择一天的名称。如果day的值为3,则输出"Wednesday"。如果day的值不在1到7之间,则输出"Invalid day"。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值