Java中的switch新特性与使用详解

 更新时间:2023年11月01日 10:18:30   作者:兴趣使然的程序猿  
这篇文章主要介绍了Java中的switch新特性与使用详解,Switch语句可以实现根据某一变量选则执行代码块,当然直接使用If语句也可以做到,但是有时候使用Switch语句往往更加简洁优美,需要的朋友可以参考下

switch语句

Switch语句可以实现根据某一变量选则执行代码块。当然直接使用If语句也可以做到,但是有时候使用Switch语句往往更加简洁优美。

switch语法

Java中switch语句的使用如下例所示:

public void switchInt(int a){
    switch (a){
        case 0:
            System.err.println("0");
            break;
        case 10:
            System.err.println("10");
            break;
        default:
            break;
    }
}

Switch可以使用的范围

Switch可以使用在byte, short, char, int, String以及枚举类。

switch使用于String:

public void switchString(String s){
    switch (s){
        case "hello":
            System.out.println("hello");
            break;
        default:
            break;
    };
}

switch适用于枚举:

public void switchEnum(Day day){
    switch (day){
        case Monday:
            System.out.println("monday");
            break;
        default:
            break;
    }
}
enum Day{
    Monday,
    Tuesday;
}

不同Java版本中的switch

Java 12支持了->语法:

int  a = 12;
char result=
    switch(digitInDecimal){
        case  0 -> '0';
        case  1 -> '1';
        case  2 -> '2';
        case  3 -> '3';
        default -> '?';
  };

Java 13支持一个case多值匹配:

int  a = 12;
char result=
    switch(digitInDecimal){
        case  0, 1, 2 -> '0';
        default -> '?';
  };

Java 13还支持yield关键字返回:

int  a = 12;
char result=
    switch(digitInDecimal){
        case  0, 1, 2 : yield '0';
        default : yield '?';
  };

到此这篇关于Java中的switch新特性与使用详解的文章就介绍到这了,更多相关Java中的switch内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 深入探讨Java多线程中的volatile变量

    深入探讨Java多线程中的volatile变量

    这篇文章主要为大家详细并深入的探讨Java多线程中的volatile变量,volatile用来确保将变量的更新操作通知到其他线程,保证了新值能立即同步到主内存,以及每次使用前立即从主内存刷新,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • SpringBoot使用Filter实现签名认证鉴权的示例代码

    SpringBoot使用Filter实现签名认证鉴权的示例代码

    这篇文章主要介绍了SpringBoot使用Filter实现签名认证鉴权的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • java并发编程之cas详解

    java并发编程之cas详解

    这篇文章主要介绍了java并发编程之cas详解,涉及cas使用场景和cas用作原子操作等内容,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • Java利用条件运算符的嵌套来完成学习成绩的划分

    Java利用条件运算符的嵌套来完成学习成绩的划分

    这篇文章主要介绍了Java利用条件运算符的嵌套来完成学习成绩的划分,需要的朋友可以参考下
    2017-02-02
  • Spring sentinel哨兵模式相关原理解析

    Spring sentinel哨兵模式相关原理解析

    这篇文章主要介绍了Spring sentinel哨兵模式相关原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Java 在PDF中添加页面跳转按钮功能(代码演示)

    Java 在PDF中添加页面跳转按钮功能(代码演示)

    这篇文章主要介绍了Java 在PDF中添加页面跳转按钮功能,本文给大家提供了多种功能的按钮,需要的朋友可以参考下
    2019-11-11
  • windows下java -jar 后台运行以及杀死后台进程的操作

    windows下java -jar 后台运行以及杀死后台进程的操作

    这篇文章主要介绍了windows下java -jar 后台运行以及杀死后台进程的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Spring Boot Mybatis++ 2025详解

    Spring Boot Mybatis++ 2025详解

    文章介绍了三种基于注解SQL和查询接口的MyBatis使用方式,讨论了Entity和Example的区别,即Entity会更新所有字段,而Example仅更新非空字段,感兴趣的朋友一起看看吧
    2025-02-02
  • 浅析SpringBoot整合Mybatis如何实现二级缓存

    浅析SpringBoot整合Mybatis如何实现二级缓存

    二级缓存,是指多个Sqlsession之间共享数据,但是也可以使用Redis这样的缓存作为存储点,但是不支持mybatisplus 里的方法,本文我们就来聊聊SpringBoot整合Mybatis实现二级缓存的相关方法吧
    2025-05-05
  • Java实战之利用POI生成Excel图表

    Java实战之利用POI生成Excel图表

    Apache POI是Java生态中处理Office文档的核心工具,这篇文章主要为大家详细介绍了如何在Excel中创建折线图,柱状图,饼图等常见图表,需要的可以参考下
    2025-02-02

最新评论