Java中switch的三种用法方式小结

作者:李昊哲小课 时间:2023-11-24 03:40:21 

从java14开始, switch语句有了一个很大的调整, 这就让swicth语句有了更多的操作和选择,在代码上,更加的简便灵活.

  • switch 标准方式

  • switch - > 用法:

  • switch yield 用法:

标准方式

int dayOfWeek = 2;
switch (dayOfWeek) {
   case 1:
       System.out.println("星期一");
   case 2:
       System.out.println("星期二");
   case 3:
       System.out.println("星期三");
   case 4:
       System.out.println("星期四");
   case 5:
       System.out.println("星期五");
   case 6:
       System.out.println("星期六");
   default:
       System.out.println("星期日");
}

 輸出如下:

星期二
星期三
星期四
星期五
星期六
星期日

从输出结果发现case代码块被穿透了,使用break防止case代码执行穿透,代码如下:

int dayOfWeek = 2;
switch (dayOfWeek) {
   case 1:
       System.out.println("星期一");
       break;
   case 2:
       System.out.println("星期二");
       break;
   case 3:
       System.out.println("星期三");
       break;
   case 4:
       System.out.println("星期四");
       break;
   case 5:
       System.out.println("星期五");
       break;
   case 6:
       System.out.println("星期六");
       break;
   default:
       System.out.println("星期日");
       break;
}

輸出如下:

星期二

switch - > 用法:

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

代码如下:

int dayOfWeek = 2;
switch (dayOfWeek) {
   case 1 -> System.out.println("星期一");
   case 2 -> System.out.println("星期二");
   case 3 -> System.out.println("星期三");
   case 4 -> System.out.println("星期四");
   case 5 -> System.out.println("星期五");
   case 6 -> System.out.println("星期六");
   default -> System.out.println("星期日");
}

输出结果如下:

星期二

switch yield 用法:返回值

先来开一段标准模式的代码:

String weekday = null;
int dayOfWeek = 2;
switch (dayOfWeek) {
   case 1:
       weekday = "星期一";
       break;
   case 2:
       weekday = "星期二";
       break;
   case 3:
       weekday = "星期三";
       break;
   case 4:
       weekday = "星期四";
       break;
   case 5:
       weekday = "星期五";
       break;
   case 6:
       weekday = "星期六";
       break;
   default:
       weekday = "星期日";
       break;
}
System.out.println(weekday);

输出结果如下:

星期二

从上面代码不难看出我们通过条件匹配为变量赋值,再来看看switch yield的简化写法

int dayOfWeek = 2;
String weekday = switch (dayOfWeek) {
   case 1:
       yield "星期一";
   case 2:
       yield "星期二";
   case 3:
       yield "星期三";
   case 4:
       yield "星期四";
   case 5:
       yield "星期五";
   case 6:
       yield "星期六";
   default:
       yield "星期日";
};
System.out.println(weekday);

输出结果:

星期二

来源:https://blog.csdn.net/qq_24330181/article/details/124425837

标签:Java,switch
0
投稿

猜你喜欢

  • 详解C语言内核字符串转换方法

    2022-12-09 13:53:55
  • springboot集成mybatis plus和dynamic-datasource注意事项说明

    2023-12-05 03:54:21
  • AQS同步组件Semaphore信号量案例剖析

    2023-11-27 14:27:04
  • Spring Boot启动时调用自己的非web逻辑

    2022-02-15 11:40:10
  • Java1.8中StringJoiner的使用及源码详析

    2021-09-09 14:37:32
  • C#开发WinForm清空DataGridView控件绑定的数据

    2022-12-01 11:22:08
  • java POI解析Excel 之数据转换公用方法(推荐)

    2023-06-10 11:04:53
  • C#自定义日志记录

    2021-06-11 23:44:47
  • java设计模式--三种工厂模式详解

    2023-11-29 09:54:06
  • Java设计模式编程之解释器模式的简单讲解

    2022-01-24 16:03:32
  • java实现简易超市管理系统 附源码下载

    2021-11-05 18:58:30
  • 详解SpringBoot注解读取配置文件的方式

    2023-08-05 02:51:16
  • Android实现显示和隐藏密码功能的示例代码

    2022-12-14 23:40:09
  • Android开发实现判断通知栏是否打开及前往设置页面的方法

    2022-10-21 10:43:45
  • springboot+jersey+tomcat实现跨域方式上传文件到服务器的方式

    2023-08-16 10:26:45
  • c#中Winform实现多线程异步更新UI(进度及状态信息)

    2022-08-26 05:54:40
  • C#词法分析器之词法分析的使用详解

    2022-01-26 04:22:13
  • 简单了解JAVA public class与class区别

    2023-11-15 23:59:26
  • SpringData如何通过@Query注解支持JPA语句和原生SQL语句

    2022-08-26 22:07:29
  • Android 基于Socket的聊天应用实例(二)

    2023-11-02 21:48:32
  • asp之家 软件编程 m.aspxhome.com