Java中switch的三种用法方式小结

 更新时间:2023年04月18日 15:34:07   作者:李昊哲小课  
这篇文章主要介绍了Java中switch的三种用法方式小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

  • switch 标准方式
  • switch - > 用法:
  • switch yield 用法:

标准方式

int dayOfWeek = 2;
switch (dayOfWeek) {
    case 1:
        System.out.println("星期一");
    case 2:
        System.out.println("星期二");
    case 3:
        System.out.println("星期三");
    case 4:
        System.out.println("星期四");
    case 5:
        System.out.println("星期五");
    case 6:
        System.out.println("星期六");
    default:
        System.out.println("星期日");
}

 輸出如下:

星期二
星期三
星期四
星期五
星期六
星期日

从输出结果发现case代码块被穿透了,使用break防止case代码执行穿透,代码如下:

int dayOfWeek = 2;
switch (dayOfWeek) {
    case 1:
        System.out.println("星期一");
        break;
    case 2:
        System.out.println("星期二");
        break;
    case 3:
        System.out.println("星期三");
        break;
    case 4:
        System.out.println("星期四");
        break;
    case 5:
        System.out.println("星期五");
        break;
    case 6:
        System.out.println("星期六");
        break;
    default:
        System.out.println("星期日");
        break;
}

輸出如下:

星期二

switch - > 用法:

使用switch标准方式编写代码太多的break造成代码冗余可读性不高 可以借助函数式接口和lambda表达式简化书写

代码如下:

int dayOfWeek = 2;
switch (dayOfWeek) {
    case 1 -> System.out.println("星期一");
    case 2 -> System.out.println("星期二");
    case 3 -> System.out.println("星期三");
    case 4 -> System.out.println("星期四");
    case 5 -> System.out.println("星期五");
    case 6 -> System.out.println("星期六");
    default -> System.out.println("星期日");
}

输出结果如下:

星期二

switch yield 用法:返回值

先来开一段标准模式的代码:

String weekday = null;
int dayOfWeek = 2;
switch (dayOfWeek) {
    case 1:
        weekday = "星期一";
        break;
    case 2:
        weekday = "星期二";
        break;
    case 3:
        weekday = "星期三";
        break;
    case 4:
        weekday = "星期四";
        break;
    case 5:
        weekday = "星期五";
        break;
    case 6:
        weekday = "星期六";
        break;
    default:
        weekday = "星期日";
        break;
}
System.out.println(weekday);

输出结果如下:

星期二

从上面代码不难看出我们通过条件匹配为变量赋值,再来看看switch yield的简化写法

int dayOfWeek = 2;
String weekday = switch (dayOfWeek) {
    case 1:
        yield "星期一";
    case 2:
        yield "星期二";
    case 3:
        yield "星期三";
    case 4:
        yield "星期四";
    case 5:
        yield "星期五";
    case 6:
        yield "星期六";
    default:
        yield "星期日";
};
System.out.println(weekday);

输出结果:

星期二

到此这篇关于Java中switch的三种用法方式小结的文章就介绍到这了,更多相关Java switch用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring Boot 项目启动自动执行方法的两种实现方式

    Spring Boot 项目启动自动执行方法的两种实现方式

    这篇文章主要介绍了Spring Boot 项目启动自动执行方法的两种实现方式,帮助大家更好的理解和学习使用Spring Boot框架,感兴趣的朋友可以了解下
    2021-05-05
  • SpringBoot3集成Swagger3的详细教程

    SpringBoot3集成Swagger3的详细教程

    Swagger 3(OpenAPI 3.0)提供了更加强大和灵活的API文档生成能力,本教程将指导您如何在Spring Boot 3项目中集成Swagger3,并使用Knife4j作为UI界面,需要的朋友可以参考下
    2024-03-03
  • elasticsearch启动警告无法锁定JVM内存

    elasticsearch启动警告无法锁定JVM内存

    今天小编就为大家分享一篇关于elasticsearch启动警告无法锁定JVM内存,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Java字节码ByteBuddy使用及原理解析下

    Java字节码ByteBuddy使用及原理解析下

    这篇文章主要为大家介绍了Java字节码ByteBuddy使用及原理解析下篇,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Springboot+Netty+Websocket实现消息推送实例

    Springboot+Netty+Websocket实现消息推送实例

    这篇文章主要介绍了Springboot+Netty+Websocket实现消息推送实例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • maven实现docker自动化部署插件的使用

    maven实现docker自动化部署插件的使用

    本文主要介绍了maven实现docker自动化部署插件的使用,分享给大家,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • Eclipse中改变默认的workspace的方法及说明详解

    Eclipse中改变默认的workspace的方法及说明详解

    eclipse中改变默然的workspace的方法有哪几种呢?接下来脚本之家小编给大家介绍Eclipse中改变默认的workspace的方法及说明,对eclipse改变workspace相关知识感兴趣的朋友一起学习吧
    2016-04-04
  • Java利用反射获取object的属性和值代码示例

    Java利用反射获取object的属性和值代码示例

    这篇文章主要介绍了Java利用反射获取object的属性和值代码示例,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • 简单了解Java多态向上转型相关原理

    简单了解Java多态向上转型相关原理

    这篇文章主要介绍了简单了解Java多态向上转型相关原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Java中从Integer到Date的转换方法

    Java中从Integer到Date的转换方法

    这篇文章主要介绍了Java中integer怎么转换date,在Java中,如果我们有一个Integer类型的数据,想要将其转换为Date类型,本文给大家介绍了实现方法,并通过代码示例讲解的非常详细,需要的朋友可以参考下
    2024-05-05

最新评论