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

相关文章

  • Java CAS机制的一些理解

    Java CAS机制的一些理解

    这篇文章主要介绍了Java CAS机制的相关资料,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下
    2021-05-05
  • Spring Boot + EasyExcel + SqlServer 进行批量处理数据的高效方法

    Spring Boot + EasyExcel + SqlServer 进行批量处理数据的高效方法

    在日常开发和工作中,我们可能要根据用户上传的文件做一系列的处理,本篇文章就以Excel表格文件为例,主要介绍了Spring Boot + EasyExcel + SqlServer 进行批量处理数据的高效方法,需要的朋友可以参考下
    2024-06-06
  • springboot2+es7使用RestHighLevelClient的示例代码

    springboot2+es7使用RestHighLevelClient的示例代码

    本文主要介绍了springboot2+es7使用RestHighLevelClient的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Idea热加载插件JRebel激活以及使用教程

    Idea热加载插件JRebel激活以及使用教程

    JRebel是一款JVM插件,它使得Java代码修改后不用重启系统,立即生效,下面这篇文章主要给大家介绍了关于Idea热加载插件JRebel激活以及使用的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • Springboot MongoDB实现自增序列的项目实践

    Springboot MongoDB实现自增序列的项目实践

    在某些特定的业务场景下,会需要使用自增的序列来维护数据,本文主要介绍了Springboot MongoDB实现自增序列的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Java中Set&List的迭代器实现步骤解析

    Java中Set&List的迭代器实现步骤解析

    这篇文章主要介绍了Java中Set&List的迭代器实现步骤解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • Java判断范围型的数据是否存在重叠的方法

    Java判断范围型的数据是否存在重叠的方法

    遇到了个问题,同一天可以输入多个时间段,但是每个时间段的时间不能出现重叠,这不就是判断数据返回是否有重叠的变种吗,所以本文给大家介绍了Java判断范围型的数据是否存在重叠的方法,需要的朋友可以参考下
    2024-07-07
  • Java IO创建目录和文件实例代码

    Java IO创建目录和文件实例代码

    本篇文章给大家分享了Java IO创建目录和文件的实例代码,过程很简单,大家可以测试参考下。
    2018-02-02
  • SpringBoot2.0整合Shiro框架实现用户权限管理的示例

    SpringBoot2.0整合Shiro框架实现用户权限管理的示例

    这篇文章主要介绍了SpringBoot2.0整合Shiro框架实现用户权限管理的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • MyBatis学习教程(八)-Mybatis3.x与Spring4.x整合图文详解

    MyBatis学习教程(八)-Mybatis3.x与Spring4.x整合图文详解

    这篇文章主要介绍了MyBatis学习教程(八)-Mybatis3.x与Spring4.x整合图文详解的相关资料,需要的朋友可以参考下
    2016-05-05

最新评论