Java中switch的三种用法方式

yizhihongxing

当我们在Java程序中需要根据不同的值来执行不同的操作时,我们可以使用switch语句。在Java中,switch语句有三种不同的用法方式:匹配一个具体的值、匹配一段范围、以及匹配一个枚举值。

匹配一个具体的值

当我们需要根据不同的值来执行不同的操作时,我们通常会使用switch语句的第一种用法方式:匹配一个具体的值。以下是一个示例:

int num = 4;
String numString;
switch (num) {
  case 1:
    numString = "One";
    break;
  case 2:
    numString = "Two";
    break;
  case 3:
    numString = "Three";
    break;
  default:
    numString = "Other";
    break;
}
System.out.println(numString);

在上面的示例中,我们定义了一个整数变量num,然后使用switch语句来根据num的值,分别执行不同的操作。我们使用了四个case分支来匹配不同的值,如果num的值匹配到了其中任意一个case分支,就会执行该分支的代码块。如果num的值没有匹配到任何一个case分支,就会执行default分支的代码块。在本示例中,由于num的值为4,因此会执行default分支,并输出"Other"。

匹配一段范围

除了匹配具体的值之外,我们还可以使用switch语句的第二种用法方式:匹配一段范围。例如,我们可以使用以下代码来将不同区间的分数转换为不同等级:

double score = 85.5;
String level;
switch ((int) score / 10) {
  case 9:
  case 10:
    level = "A";
    break;
  case 8:
    level = "B";
    break;
  case 7:
    level = "C";
    break;
  case 6:
    level = "D";
    break;
  default:
    level = "E";
    break;
}
System.out.println(level);

在上面的示例中,我们定义了一个double类型的分数变量score,然后使用switch语句来根据score所处的分数区间,转换为不同的等级。我们使用了五个case分支,其中在case 9和case 10中,我们共同执行了等级为"A"的代码块,因为9和10都属于A等级的分数范围。在case 8中,我们执行了等级为"B"的代码块,以此类推。如果score的值没有匹配到任何一个case分支,就会执行default分支的代码块。在本示例中,由于score的值为85.5,因此它所处的分数区间为85-89,因此将执行case 8中的代码块,并输出"B"。

匹配一个枚举值

在Java中,我们可以定义一个枚举类型,并使用switch语句来匹配枚举值。例如,我们可以使用以下代码来输出一周中的不同工作日:

enum Day {
  MONDAY,
  TUESDAY,
  WEDNESDAY,
  THURSDAY,
  FRIDAY,
  SATURDAY,
  SUNDAY
}

Day day = Day.MONDAY;
String dayString;
switch (day) {
  case MONDAY:
  case TUESDAY:
  case WEDNESDAY:
  case THURSDAY:
  case FRIDAY:
    dayString = "Weekday";
    break;
  case SATURDAY:
  case SUNDAY:
    dayString = "Weekend";
    break;
  default:
    dayString = "Other";
    break;
}
System.out.println(dayString);

在上面的示例中,我们定义了一个枚举类型Day,并将变量day的值设置为Day.MONDAY。然后使用switch语句来匹配day的值,输出其所属的工作日类型。在case MONDAY到case FRIDAY的分支中,我们共同执行了输出"Weekday"的代码块,表示这些工作日是工作日。在case SATURDAY和case SUNDAY的分支中,我们共同执行了输出"Weekend"的代码块,表示这些日子是周末。如果day的值没有匹配到任何一个case分支,就会执行default分支的代码块。在本示例中,由于day的值为MONDAY,因此它将执行case MONDAY中的代码块,并输出"Weekday"。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java中switch的三种用法方式 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • Java持久层框架Mybatis入门详细教程

    Java持久层框架Mybatis入门详细教程 什么是Mybatis? Mybatis是一种ORM(Object Relational Mapping)框架,它把数据库操作转换为面向对象编程语言的操作,让我们可以通过调用一个接口即可实现对数据库的CRUD操作,极大地提高了开发的效率。同时,Mybatis还具有可扩展、灵活性高、易于调试等特点,被广泛应用于Jav…

    Java 2023年5月20日
    00
  • Java 编程中十个处理异常的建议

    Java 编程中十个处理异常的建议 对于 Java 程序员来说,异常处理是一项必不可少的技能。如何合理地处理异常,提高代码的健壮性和可维护性,是每个程序员都应该重视的问题。这里提供十个处理异常的建议,帮助大家更好地应对各种异常情况。 1. 避免捕获过于宽泛的异常 Java 中存在许多种异常类型,如 NullPointerException、ArrayInde…

    Java 2023年5月27日
    00
  • java的Hibernate框架报错“ObjectNotFoundException”的原因和解决方法

    当使用Hibernate框架时,可能会遇到“ObjectNotFoundException”错误。这个错误通常是由于以下原因之一引起的: 数据库中不存在该实体对象:如果您的数据库中不存在该实体对象,则会出现此错误。在这种情况下,需要检查您的数据库并确保它们正确。 实体对象的关联关系错误:如果您的实体对象的关联关系存在问题,则可能会出现此错误。在这种情况下,需…

    Java 2023年5月4日
    00
  • Java 实战项目锤炼之嘟嘟健身房管理系统的实现流程

    Java 实战项目锤炼之嘟嘟健身房管理系统的实现流程 一、需求分析 系统包含三个角色:管理员、健身房教练、健身房会员。 系统功能: 管理员:添加教练、添加会员、管理教练、管理会员、查看销售业绩。 教练:发布健身计划、管理个人信息。 会员:查看健身计划、预约课程、管理个人信息。 系统特色功能:会员课程提醒、打卡记录、数据分析。 二、技术选型 开发语言:Java…

    Java 2023年5月24日
    00
  • C#泛型与非泛型性能比较的实例

    C#泛型与非泛型性能比较的实例 在C#中,泛型和非泛型的性能都很重要,选择合适的类型会影响程序的性能。本文将通过实际的代码示例来对比泛型和非泛型在执行时间和内存消耗方面的差异。 示例1:列表 需要在程序中实现一个可以动态添加元素的列表。我们可以用List<T>实现泛型列表,也可以自己实现一个非泛型版本的列表。 泛型列表的实现 List<in…

    Java 2023年5月19日
    00
  • SpringBoot详解整合Spring Boot Admin实现监控功能

    Spring Boot监控功能详解 为什么需要监控功能? 在创建一个Web应用程序时,必须将其部署到服务器上并运行。为了使应用程序保持健康,需要监视服务器和应用程序的状态。例如,你可能需要知道服务器是否在线,有多少人访问了你的网站,哪些服务正在运行并占用多少内存,这些情况都需要有一个监控平台来进行管理和展示。 Spring Boot Admin Spring…

    Java 2023年5月15日
    00
  • 使用java打印心型、圆形图案的实现代码

    以下是使用 Java 打印心型、圆形图案的实现代码攻略。 准备工作 首先,我们需要安装 Java 编程环境。可以在 Oracle 官网 下载 JDK,并按照官方文档进行安装。安装完成后,我们需要选择一款编辑器或者 IDE 来编写代码,常用的有 IntelliJ IDEA、Eclipse、VS Code等。 打印心型图案 要打印心型图案,我们可以使用嵌套循环来…

    Java 2023年5月26日
    00
  • MyBatis使用动态表或列代码解析

    针对”MyBatis使用动态表或列”这一话题,我将从以下几个方面为您进行详细讲解和解析: MyBatis动态表名的使用 MyBatis动态列名的使用 两条示例演示 1. MyBatis动态表名的使用 MyBatis提供了<foreach>标签来支持动态表名的使用。使用方法如下: <select id="queryTables&qu…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部