Java中switch的三种用法方式

当我们在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基础之Web服务器与Http详解

    Java基础之Web服务器与Http详解 本文主要讲解Web服务器以及Http协议的相关知识,包括Web服务器如何工作以及Http协议的原理。 Web服务器是什么? Web服务器是一种软件,用于处理客户端(通常是Web浏览器)请求并向客户端发送响应。Web服务器通常指运行HTTP服务器软件的计算机系统。Web服务器可以提供静态文件(如HTML、CSS、Jav…

    Java 2023年5月19日
    00
  • java实现双色球抽奖算法

    下面我将为您详细讲解如何使用Java实现双色球抽奖算法: 1. 双色球抽奖算法的基本规则 双色球彩票是一种常见的彩票类型,它由红球号码和蓝球号码组成。具体规则如下: 红球号码区:33个号码中选择6个号码,每个号码在1-33之间。 蓝球号码区:16个号码中选择1个号码,每个号码在1-16之间。 2. 抽奖算法的实现步骤 双色球抽奖算法的实现步骤如下: 2.1 …

    Java 2023年5月27日
    00
  • 轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)

    轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)攻略 Bootstrap Table是一款基于Bootstrap实现的强大的表格插件,支持各种基础功能,如排序、分页、筛选等,并且支持自定义复杂的HTML、单元格等。在后端使用SpringMVC+Hibernate的开发中,结合Bootstrap Table可以轻松地实现各…

    Java 2023年5月20日
    00
  • jsp页面中如何将时间戳字符串格式化为时间标签

    在 JSP 页面中使用时间戳字符串,需要进行格式化为时间标签。下面是如何将时间戳字符串格式化为时间标签的完整攻略。 步骤1:导入时间函数库 首先,需要引入 JSP 内置的时间函数库,以便使用日期和时间相关的函数。 <%@ page import="java.text.SimpleDateFormat" %> <%@ pa…

    Java 2023年6月15日
    00
  • Java定时任务的三种实现方法

    让我来详细讲解“Java定时任务的三种实现方法”的完整攻略吧。 1. 基于TimerTask实现Java定时任务 策略步骤 创建Timer对象 继承TimerTask类实现task任务 调度task任务执行 示例代码 import java.util.Timer; import java.util.TimerTask; public class TimerT…

    Java 2023年5月20日
    00
  • spring之Bean的生命周期详解

    Spring之Bean的生命周期详解 在Spring的IoC容器中,Bean的生命周期可以分为多个阶段。接下来,我们将从创建Bean实例,初始化Bean,调用Bean的方法,销毁Bean等阶段,详细讲解Bean的生命周期。 Bean的创建 在容器初始化时,IoC容器会先读取配置文件中的Bean定义,并将Bean的实例化交给BeanFactoryPostPro…

    Java 2023年5月31日
    00
  • 什么是Java线程池?

    Java线程池是Java提供的一个用于管理和重复使用线程的机制。线程池将一组线程存储在内存中,当需要执行一些任务时,可以分配一个线程来处理任务,以提高性能和资源利用率。 Java线程池的使用攻略: 步骤1:创建一个线程池 Java线程池通常使用Executor工厂类来创建。 Executor提供了许多静态工厂方法来创建不同种类的线程池。其中,最常用的是Exe…

    Java 2023年5月11日
    00
  • Java简单实现调用命令行并获取执行结果示例

    首先我们需要了解Java如何调用命令行来执行外部的命令。在Java中,可以通过ProcessBuilder或Runtime.getRuntime().exec()两种方式实现。 使用ProcessBuilder调用命令行 ProcessBuilder是一个Java API,它提供了一个类来启动外部进程并与其进行交互。下面是一个简单的Java程序,它使用Pro…

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