Java switch关键字原理及用法详解

Java switch关键字原理及用法详解

1. 概述

switch 是 Java 中的一个关键字,用于基于不同的条件执行不同的操作。它是一种比较简单却又很实用的控制语句,它包含一个或多个 case 模块,每个模块代表一个条件,当条件满足时执行相应的代码。

2. 语法结构

switch 控制语句的语法结构如下:

switch (expression) {
    case value1:
        // 对应操作1
        break;
    case value2:
        // 对应操作2
        break;
    ...
    default:
        // 默认操作
        break;
}

解释:

  • switch:Java 中的关键字,代表判断语句判断的开始。
  • (expression):要判断的表达式,可以是字符串、整型、浮点型等任何类型的值。注意这里的表达式只能是所支持数据类型之一。
  • case valueX:表示要判断的某个条件,可以有多个,每个 case 后面必须跟有一个常量值,用 : 号结束。
  • break:用于退出 switch 结构。如果 break 语句没有被执行,程序会继续执行下一个 case 语句中的代码。
  • default:当所有的 case 条件都不符合时,执行的默认操作。

3. 示例说明

示例1:根据星期几输出相应的提示信息

根据创建一个方法 printWeekdayMessage(int dayOfWeek),根据传入的星期几(1-7)输出相应的提示信息。

public static void printWeekdayMessage(int dayOfWeek) {
    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;
        case 7:
            System.out.println("今天是星期日,好好放松一下吧!");
            break;
        default:
            System.out.println("输入错误,无法判断为星期几。");
            break;
    }
}

测试代码如下:

public static void main(String[] args) {
    printWeekdayMessage(1);
    printWeekdayMessage(3);
    printWeekdayMessage(5);
    printWeekdayMessage(7);
    printWeekdayMessage(8);
}

输出结果如下:

今天是星期一,开始新的一周!
今天是星期三,努力工作!
今天是星期五,周末就在眼前!
今天是星期日,好好放松一下吧!
输入错误,无法判断为星期几。

示例2:计算分数段所对应的等级

根据创建一个方法 getScoreLevel(int score),根据传入的分数(0-100)计算出其所属的等级,返回等级名称。

public static String getScoreLevel(int score) {
    String level = "";
    switch (score / 10) {
        case 10: case 9:
            level = "优秀";
            break;
        case 8: case 7:
            level = "良好";
            break;
        case 6:
            level = "及格";
            break;
        default:
            level = "不及格";
            break;
    }
    return level;
}

测试代码如下:

public static void main(String[] args) {
    System.out.println("90分的等级为:" + getScoreLevel(90));
    System.out.println("78分的等级为:" + getScoreLevel(78));
    System.out.println("65分的等级为:" + getScoreLevel(65));
    System.out.println("42分的等级为:" + getScoreLevel(42));
}

输出结果如下:

90分的等级为:优秀
78分的等级为:良好
65分的等级为:及格
42分的等级为:不及格

4. 注意事项

  • switch 语句中的表达式可以是任何支持的数据类型,包括整型、字符串、枚举型等。
  • case 之后必须跟着一个常量值,且该值不能重复。如果 case 后面跟着的是变量名或者表达式(而不是常量值),则会编译错误。
  • 如果没有与表达式的值匹配的 case 常量值,那么控制流将会跳转到 default 块(如果有该块的话,否则不做任何操作)。
  • case 块内放入多个语句时,可以把它们放在花括号内,但这并不是必需的。
  • 每个 case 块内必须包含一个 break 语句,否则将会编译错误。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java switch关键字原理及用法详解 - Python技术站

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

相关文章

  • 如何使用Java Attach API?

    使用Java AttachAPI的目的是能够在JVM运行时动态的获取信息或者执行相关操作,比如获取Java Heap Memory的占用情况,获取JVM线程池的线程数量等信息。简单来说,AttachAPI可以对一个已经运行的Java进程进行控制,包括启动、停止、dump内存、获取日志等等。 下面是使用Java AttachAPI的完整使用攻略: 1. 确认J…

    Java 2023年5月11日
    00
  • GC日志的作用是什么?

    GC日志记录了JVM的垃圾回收情况,它可以用于以下方面: 监控应用程序的垃圾回收情况,包括垃圾回收的频率、GC暂停时间、堆大小等信息,以便我们调优应用程序。 检测内存泄漏问题,比如频繁Full GC、对象存活时间过长等问题,通过GC日志中的统计数据,我们可以发现这些问题,并进行排查。 使用GC日志的步骤如下: 启用GC日志 通过以下JVM参数启用GC日志:-…

    Java 2023年5月10日
    00
  • Java的Struts2框架配合Ext JS处理JSON数据的使用示例

    下面我来详细讲解一下Java的Struts2框架配合Ext JS处理JSON数据的使用示例的完整攻略。 简介 在开发Web应用程序时,常常需要使用JSON(JavaScript对象表示法)来进行数据的传递,而Struts2框架可以帮助我们很好地处理JSON数据。而Ext JS是一款优秀的JavaScript框架,可以让我们轻松地构建富客户端的Web应用程序。…

    Java 2023年5月20日
    00
  • Java泛型与数据库应用实例详解

    Java泛型与数据库应用实例详解 什么是Java泛型? Java泛型是Java SE 5中引入的一项语言特性,它提供了一种编写泛化代码的方法,能够提高代码的通用性和复用性,从而提高了代码的可维护性和可扩展性。 Java泛型的语法 Java泛型使用尖括号<>来规定类型参数,语法格式如下: public class GenericClass<T…

    Java 2023年5月20日
    00
  • Java代码审计的一些基础知识你知道吗

    Java代码审计的一些基础知识你知道吗 什么是Java代码审计? Java代码审计是指对Java应用程序中的源代码进行检查、识别和评估安全漏洞的过程。此过程旨在识别开发中可能导致安全漏洞的编程错误或不良实践。它可以帮助开发人员找到这些漏洞并修复它们,提高软件的安全性。 Java代码审计的步骤 阅读和理解代码。 理解应用程序的功能并确定期望行为。 寻找不安全的…

    Java 2023年5月23日
    00
  • Ajax方式提交带文件上传的表单及隐藏iframe应用

    我将为你详细讲解“Ajax方式提交带文件上传的表单及隐藏iframe应用”的完整攻略。在这个过程中我们将使用两个示例:一个是使用jQuery来进行Ajax文件上传;另一个是使用原生JavaScript的FormData对象来进行Ajax文件上传。 使用jQuery进行Ajax文件上传 首先,我们需要引入jQuery库,然后我们可以使用以下代码来实现使用jQu…

    Java 2023年6月15日
    00
  • 用Eclipse 创建一个简单的web项目(图文教程)

    下面是详细的攻略: 步骤一:安装Eclipse 首先,在官网下载并安装Eclipse。安装成功后,打开Eclipse。 步骤二:创建一个新的动态Web项目 选择“File”-> “New” -> “Project”。 在新窗口中,展开“Web”选项卡,选择“Dynamic Web Project”。 输入你的项目名称并点击“Next”。 点击“T…

    Java 2023年5月20日
    00
  • Spring Boot外部化配置实战解析

    SpringBoot外部化配置实战解析 SpringBoot是一个非常流行的Java Web框架,它可以帮助我们快速构建Web应用程序。在实际开发中,我们通常需要将一些配置信息从代码中分离出来,以便于在不同的环境中进行配置。本文将详细讲解SpringBoot外部化配置实战解析的完整攻略,并提供两个示例。 1. 配置文件 在SpringBoot中,我们可以使用…

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