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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot结合Redis哨兵模式的实现示例

    SpringBoot结合Redis哨兵模式的实现示例

    这篇文章主要介绍了SpringBoot结合Redis哨兵模式的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Java求10到100000之间的水仙花数算法示例

    Java求10到100000之间的水仙花数算法示例

    这篇文章主要介绍了Java求10到100000之间的水仙花数算法,结合实例形式分析了水仙花数的概念及相应的java算法实现技巧,需要的朋友可以参考下
    2017-10-10
  • 详解Spring注解驱动开发之属性赋值

    详解Spring注解驱动开发之属性赋值

    今天带大家学习Spring注解驱动开发的相关知识,文中有非常详细的代码示例,对正在学习Java的小伙伴们很有帮助,需要的朋友可以参考下
    2021-05-05
  • Spring Boot对Future模式的支持详解

    Spring Boot对Future模式的支持详解

    这篇文章主要给大家介绍了关于Spring Boot对Future模式的支持的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用spring boot具有一定的参考学习价值,需要的朋友们下面来一起看看吧
    2019-01-01
  • 自己编写IOC控制反转及AOP面向切面

    自己编写IOC控制反转及AOP面向切面

    本文展示通过一个案例来自己手写IOC和AOP代码,通过银行转账案例详细的代码编写和文档解释来说明IOC和AOP的思想,会分享存在的问题和解决问题的思路
    2021-06-06
  • SpringBoot实现向量数据库优化检索的方案及示例

    SpringBoot实现向量数据库优化检索的方案及示例

    在Spring Boot中实现RAG(Retrieval-Augmented Generation)的增强,可以从检索优化、生成优化和系统架构三个维度进行改进,本文给大家介绍了具体实现方案及示例,需要的朋友可以参考下
    2025-02-02
  • Tomcat集群和Session复制应用介绍

    Tomcat集群和Session复制应用介绍

    本文将详细介绍Tomcat集群和Session复制应用,需要了解的朋友可以参考下
    2012-11-11
  • Spring Boot使用FastJson解析JSON数据的方法

    Spring Boot使用FastJson解析JSON数据的方法

    本篇文章主要介绍了Spring Boot使用FastJson解析JSON数据的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • springboot项目父子多模块打包方式

    springboot项目父子多模块打包方式

    这篇文章主要介绍了springboot项目父子多模块打包方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Java异常处理机制throws举例详解

    Java异常处理机制throws举例详解

    这篇文章主要介绍了Java中异常处理机制,包括finally的使用、异步处理的方式(throws)、以及手动抛出异常,finally用于确保资源释放,throws用于声明方法可能抛出的异常,由调用者处理,手动抛出异常则是在特定条件下主动抛出异常对象,需要的朋友可以参考下
    2024-11-11

最新评论