Java中Switch的使用方法及新特性

 更新时间:2023年11月03日 10:27:42   作者:爱吃柠檬的天天  
在java中控制流程语句是由选择语句、循环语句、跳转语句构成,选择语句包括if和switch,在过多的使用if语句嵌套会使程序很难阅读,这时就可以用到switch语句,这篇文章主要给大家介绍了关于Java中Switch的使用方法及新特性的相关资料,需要的朋友可以参考下

一、switch语句的适用场景

在分支结构中,我们除了使用if-else或者是if-else if之外,当分支量过大的时候,我们即可选择使用switch语句进行选择。

二、switch语句的使用方法

当我们需要实现输入 1 1 1的时候打印出Hello,输入 2 2 2的时候打印出World,输入其他数字的时候打印出error。

在switch语法中,switch()圆括号中写入判断的数字,当case语句的值等于圆括号内的值时,将执行相应代码块的代码。

public class SwitchDemo {
    public static void main(String[] args){
    int choose=1;
    switch(choose){
    case 1:System.out.println("Hello");break;
    case 2:System.out.println("World");break;
    default:System.out.println("error");
        }
    }
}

当每段case语句后需要跟一个break语句结束,否则将继续进行下一个case语句内。且default语句不能直接触发,当switch内的值与case值均不匹配时,将会执行default内的代码语句。

三、Java语言中switch的新特性

在Java7以前,switch内的值仅支持byte、short、int、char类型或者枚举。往后的版本中引入了对string类型的switch判断。代码如下:

public class SwitchDemo {
    public static void main(String[] args){
    string choose="one";
    switch(choose){
    case "one":System.out.println("Hello");break;
    case "two":System.out.println("World");break;
    default:System.out.println("error");
        }
    }
}

四、switch 语句遵从规则:

①表达式必须计算出一个 char 、byte、short、int、string 类型等数据,并且它必须用括号括住。

②值1,...,值N 必须与表达式的值具有相同的数据类型,当表达式的值与 case 语句的值相匹配时,执行该 case语句中的语句(每个 case 语句都顺序执行)

③ 关键字break是可选的,break 语句终止整个 switch 语句。若 break 语句不存在,下一个case 语句将被执行。

④ 默认情况(default)是可选的,它用来指定情况都不为真时的操作,默认情况总是出现在switch 语句块的最后。

总结 

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

相关文章

  • ThreadLocal数据存储结构原理解析

    ThreadLocal数据存储结构原理解析

    这篇文章主要为大家介绍了ThreadLocal数据存储结构原理解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Java 中的HashMap详解和使用示例_动力节点Java学院整理

    Java 中的HashMap详解和使用示例_动力节点Java学院整理

    这篇文章主要介绍了Java 中的HashMap详解和使用示例_动力节点Java学院整理,需要的朋友可以参考下
    2017-05-05
  • 使用graalvm为带有反射功能的java代码生成native image的示例详解

    使用graalvm为带有反射功能的java代码生成native image的示例详解

    graalvm让native镜像支持反射的关键是利用json提前告诉它哪些类的哪些方法会被反射调用,然后它就能力在运行时支持反射了,这篇文章主要介绍了如何使用graalvm为带有反射功能的java代码生成native image,需要的朋友可以参考下
    2024-02-02
  • Spring Boot实现文件上传示例代码

    Spring Boot实现文件上传示例代码

    本篇文章主要介绍了Spring Boot实现文件上传示例代码,可以实现单文件和多文件的上传,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • SpringData JPA中@OneToMany和@ManyToOne的用法详解

    SpringData JPA中@OneToMany和@ManyToOne的用法详解

    这篇文章主要介绍了SpringData JPA中@OneToMany和@ManyToOne的用法详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • mybatis 实现多层级collection嵌套

    mybatis 实现多层级collection嵌套

    这篇文章主要介绍了mybatis 实现多层级collection嵌套,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Java中try-with-resources自动关闭资源的使用方法及注意事项

    Java中try-with-resources自动关闭资源的使用方法及注意事项

    这篇文章主要介绍了Java中try-with-resources自动关闭资源的使用方法及注意事项,try-with-resources是Java 7引入的一种资源管理语法,用于自动关闭实现了AutoCloseable接口的资源,文中通过代码将用法介绍的非常详细,需要的朋友可以参考下
    2025-05-05
  • Win10 IDEA远程连接HBase教程

    Win10 IDEA远程连接HBase教程

    在Windows 10上,通过IDEA连接到虚拟机中的Hadoop和HBase需要关闭虚拟机防火墙,并修改相关配置文件中的IP地址,此外,创建Maven项目并添加依赖是必要步骤,最后,通过Java代码和HBase Shell命令进行操作,此过程涉及的技术包括虚拟机配置、防火墙管理、文件编辑和项目管理等
    2024-11-11
  • 解决mybatis-plus动态数据源切换不生效的问题

    解决mybatis-plus动态数据源切换不生效的问题

    本文主要介绍了解决mybatis-plus动态数据源切换不生效的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Spring整合Mycat2的具体过程详解

    Spring整合Mycat2的具体过程详解

    这篇文章主要给大家介绍Springboot整合Mycat2的具体过程,文中有详细的图解过程,感兴趣的小伙伴可以跟着小编一起来学习
    2023-05-05

最新评论