iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >Java 中 switch 的用法
  • 524
分享到

Java 中 switch 的用法

java开发语言spring 2023-10-20 07:10:13 524人浏览 安东尼
摘要

Java 中 switch 的用法 switch 中的表达式的数据的数据类型为 byte, short, int, char, String(jdk > 1.7支持 String 类型) 2、defa

Java 中 switch 的用法

switch 中的表达式的数据的数据类型为 byte, short, int, char, String(jdk > 1.7支持 String 类型)
2、default 可以放在任意一行,但是不管放在那一行,都会先找第一个case去匹配,如果所有的 case 都不匹配,才会执行 default,default 可以省略不写。
3、break 可以不写,就容易造成 switch 的穿透现象,如果匹配过一次或者执行过 default 之后,都不会再进行二次匹配了,但是语句体内容该执行还是会执行。

jdk 12 对 switch 进行扩展,使其可以用作语句或表达式。

一、Java 中 switch 的语法

1、冒号(:):有直通行为

标准方式,使用 break 防止 case 代码执行穿透。

2、 箭头(->):无直通行为

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

3、break:

break 防止 case 代码执行穿透;

4、yield :返回值

二、switch 语句

1、标准方式,有直通行为

switch(seasonName){case "spring":System.out.println("spring time");case "Summer","Winter":numLetters = 6;break;case "Fall":numLetters = 4;break;default:numLetters = -1;}

2、lambda 表达式书写,无直通行为

switch(seasonName){case "Spring" -> {System.out.println("spring time");numLetters = 6;}case "Summer","Winter" -> numLetters = 6;case "Fall" -> numLetters = 4;default -> numLetters = -1;}

三、switch 表达式

public class Test {    enum Alpha {A, B, C, D, E;}    public static void main(String[] args) {        System.out.print(fun(Alpha.A));    }    static char fun(Alpha alpha) {        var r = switch (alpha) {            case A -> 'a';            case B -> 'b';            case C -> 'c';            case D -> 'd';            default -> 'x';        };        return r;    }}

1、有直通行为(Java 14引入)

        String seasonName = "Spring";        int numLetters;        numLetters = switch(seasonName){            case "Spring":                System.out.println("spring time");            case "Summer","Winter":                yield 6;            case "Fall":                yield 4;            default:                yield -1;        };        System.out.println(numLetters);

2、无直通行为

int numLetters;numLetters = switch(seasonName){    case "Spring" ->{        System.out.println("spring time");        yield 6;    }    case "Summer","Winter" -> 6;    case "Fall" -> 4;    default -> -1;};

注意

  1. switch() 括号内 seasonName,应与 case 后常量类型保持一致,或者是可以自动转换成可以互相比较的类型。
  2. case 标签:类型为 char、byte、short 或 int 的常量表达式;枚举常量 enum;字符串字面量 String;多个字符串用逗号分隔。
  3. case 子句中的值必须是常量,不能是变量。
  4. 在语句中,default 是可选的。
  5. break 和 yield 语句用来在执行完一个 case 分支后使程序跳出 switch 语句,如果没有 break 或 yield,程序会顺序执行到 switch 结尾,产生直通行为。
  6. 不能在一个 switch 语句中混合使用冒号和箭头。
  7. 与 break 语句类似,yield 会终止执行。但与 break 不同的是,yield 还会生成一个值,这就是表达式的值。

四、Switch 语句与表达式的区别:

  1. switch 代码块出现在了赋值运算符的右侧;
  2. 一个 case 语句,可以处理多个情景;
  3. 新的情景操作符,“->”,它是一个箭头标识符;
  4. 箭头标识符右侧的数值。这个数值,代表的就是该匹配情景下,switch 表达式的数值。需要注意的是,箭头标识符右侧可以是表达式、代码块或者异常抛出语句,而不能是其他的形式;
  5. yield 语句产生的值看成是 switch 表达式的返回值。所以,yield 只能用在 switch 表达式里。

Java 枚举(enum)

Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个年的 12 个月份,一个星期的 7 天,方向有东南西北等。

Java 枚举类使用 enum 关键字来定义,各个常量使用逗号 (,) 来分割。

颜色的枚举类
enum Color{ RED, GREEN, BLUE; }
以上枚举类 Color 颜色常量有 RED, GREEN, BLUE,分别表示红色,绿色,蓝色。

enum Color{ RED, GREEN, BLUE; }   public class Test {        public static void main(String[] args){         Color c1 = Color.RED;         System.out.println(c1);     } }

来源地址:https://blog.csdn.net/weixin_43955170/article/details/130030570

--结束END--

本文标题: Java 中 switch 的用法

本文链接: https://www.lsjlt.com/news/432743.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java 中 switch 的用法
    Java 中 switch 的用法 switch 中的表达式的数据的数据类型为 byte, short, int, char, String(jdk > 1.7支持 String 类型) 2、defa...
    99+
    2023-10-20
    java 开发语言 spring
  • java中switch的使用方法
    本篇内容主要讲解“java中switch的使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java中switch的使用方法”吧!关于java中switch使用的一些说明[@more@]sw...
    99+
    2023-06-03
  • Java中switch的四种用法
    总共有四种不同形式的switch。两种是switch语句,两种是switch表达式,表达式会生成一个值。switch表达式没有“直通式”行为。 表达式,无直通行为 int numLettersnumL...
    99+
    2023-08-31
    java 开发语言
  • Java中switch的用法有哪些
    在Java中,switch语句用于根据一个表达式的值在一组可能的选项中选择执行的代码块。以下是switch语句的一些用法:1. 单个case匹配:根据表达式的值匹配单个case,并执行相应的代码块。```javaint num = 2;...
    99+
    2023-08-11
    Java switch
  • Java——Switch的使用方法
    Java——Switch的用法 文章目录: Java——Switch的用法一、switch语句的适用场景二、switch语句的使用方法三、Java语言中switch的新特性 一、swi...
    99+
    2023-10-24
    java 开发语言
  • java中的switch case语句的用法
    本篇内容主要讲解“java中的switch case语句的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java中的switch case语句的用法”吧!s...
    99+
    2022-10-19
  • java中switch语句的用法介绍
    本篇文章和大家了解一下java中switch语句的用法介绍。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。一. switch分支结构1. 简介switch结合case,能够判断一个变量或表达式与一系列值中的某个值是否相等,...
    99+
    2023-07-06
  • Java switch的用法是什么
    Java中的switch语句用于根据不同的条件执行不同的代码块。它可以替代较长的if-else if-else语句,使代码更加简洁易...
    99+
    2023-09-26
    Java
  • java中switch语法是什么
    这篇文章主要介绍了java中switch语法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇java中switch语法是什么文章都会有所收获,下面我们一起来看看吧。switch(表达式){case 常量表达...
    99+
    2023-07-06
  • Java中switch的三种用法方式小结
    目录标准方式switch - > 用法:switch yield 用法:返回值从java14开始, switch语句有了一个很大的调整, 这就让swicth语句有了更多的操作和...
    99+
    2023-05-16
    Java switch用法 switch yield
  • Java中的Switch语句
    1.switch语句格式 switch(表达值){ --首先计算表达式的值 switch(想吃的水果){ case 值1: --与case值对比 case “苹果”; 语句体1; ...
    99+
    2023-10-11
    java 开发语言 jvm
  • js中switch语句的用法
    这篇文章将为大家详细讲解有关js中switch语句的用法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。小编向大家介绍过JavaScript中switch 语句的语法格式(https://www.py.cn...
    99+
    2023-06-14
  • java中Switch介绍
    定义形式 int i=2;          switch (i){ case 1: System.out.println("1号"); ...
    99+
    2023-09-09
    java Powered by 金山文档
  • 怎么在java中使用switch
    本篇文章给大家分享的是有关怎么在java中使用switch,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、We...
    99+
    2023-06-14
  • Switch怎么在Java中使用
    Switch怎么在Java中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、java当中的switch与C#相比有以下区别注:在java中switch后的表达式的类型只能...
    99+
    2023-05-30
    java switch
  • Java判断语句if…else/switch的实例用法
    这篇文章主要介绍“Java判断语句if…else/switch的实例用法”,在日常操作中,相信很多人在Java判断语句if…else/switch的实例用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Jav...
    99+
    2023-06-02
  • switch在php中的用法是什么
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑PHP Switch 语句switch 语句用于根据多个不同条件执行不同动作。switch 语句由一个表达式和多个 case 标签组成,case 标签后紧跟一个代码块,...
    99+
    2016-09-08
    switch php
  • java中switch语句的作用是什么
    java中switch语句的作用是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应...
    99+
    2023-06-14
  • C#的switch语句的用法
    本篇内容主要讲解“C#的switch语句的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#的switch语句的用法”吧!C# switch语句在Java中,switch语句只能处理整数。但...
    99+
    2023-06-17
  • 详解Java中switch的新特性
    目录一. switch分支结构1. 简介2. 基本语法3. 语法规则(重点)4. 执行逻辑二. switch案例1. 基本案例2. case穿透三. switch新特性(了解)1. ...
    99+
    2023-05-20
    Java switch新特性 Java switch switch新特性
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作