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日

相关文章

  • 前端开发和后端开发,哪个薪酬更高?

    前端开发和后端开发在薪酬方面没有一个绝对的胜负之分。具体来说,薪酬高低受到很多因素的影响,比如地域、公司规模、个人技能等等,下面我们逐个解析。 地域因素 不同地区的薪酬水平有很大的差异。一般来说,一线城市的薪酬水平高于二三线城市,同时还会因为当地的经济发展水平和就业竞争而有所不同。 以前端开发为例,2021年拉钩网前端开发职位的薪资报告显示,在一线城市(北京…

    Java 2023年5月23日
    00
  • Spring Security 核心过滤器链讲解

    对于Spring Security,核心过滤器链可以说是它的核心之一。本文将从什么是核心过滤器链、以及它包含哪些过滤器等方面进行详细讲解。 1. 什么是核心过滤器链? 核心过滤器链是Spring Security运作的基础。当一个请求进来时,它将会被一系列的过滤器处理,处理完成后才会交给真正的应用程序处理。核心过滤器链由一系列的过滤器组成,每个过滤器都有自己…

    Java 2023年5月20日
    00
  • 手动实现将本地jar添加到Maven仓库

    在 Maven 中,本地 jar 包的依赖需要添加到 Maven 仓库中才能被项目引用。如果 jar 包不在中央仓库中,需要手动将其添加到本地仓库中。本地 jar 包添加到 Maven 仓库有两种方法:手动添加、使用 Maven 命令。 手动添加 手动添加是将本地 jar 包拷贝到指定 Maven 仓库的一个仓库目录中。 首先,找到 Maven 仓库的位置。…

    Java 2023年5月20日
    00
  • 详解log4j-over-slf4j与slf4j-log4j12共存stack overflow异常分析

    详解log4j-over-slf4j与slf4j-log4j12共存stack overflow异常分析 背景介绍 log4j-over-slf4j与slf4j-log4j12都是Java中的一种日志框架,它们各自有不同的功能和用法。但是,当同时使用这两种框架的时候,可能会导致Stack Overflow异常的出现,影响系统的稳定性。因此,在深入了解这两种框…

    Java 2023年5月26日
    00
  • 如何用idea数据库编写快递e站

    如何用IDEA数据库编写快递E站的完整攻略: 安装数据库和IDEA 首先需要安装数据库和IDEA,常用的数据库有MySQL和PostgreSQL。使用过程中也需要安装相应的驱动程序。如果你使用的是Maven或Gradle等构建工具,那么你可以在配置文件中添加相应的依赖项,自动下载驱动程序。 创建数据库和表格 在IDEA中连接到数据库服务器,创建一个新的数据库…

    Java 2023年5月20日
    00
  • PHP中auto_prepend_file与auto_append_file用法实例分析

    PHP中auto_prepend_file与auto_append_file用法实例分析 在PHP中,auto_prepend_file和auto_append_file是两个特殊的配置选项,它们分别用于在PHP脚本执行前和执行后自动执行指定的PHP脚本文件。这两个配置选项通常被用于实现一些公共功能或初始化操作。本文将详细讲解auto_prepend_fil…

    Java 2023年6月15日
    00
  • Hibernate初体验及简单错误排除代码详解

    Hibernate初体验及简单错误排除代码详解 概述 Hibernate是一个开源的Java ORM框架,用于将Java中的对象映射到关系型数据库中的表中。使用Hibernate可以大大提高开发效率和代码可维护性。 本篇攻略将介绍如何在Java项目中使用Hibernate,并提供简单错误排除代码详解。 环境准备 在开始使用Hibernate之前,需要具备以下…

    Java 2023年5月20日
    00
  • IntelliJ IDEA使用教程从入门到上瘾(2019图文版)

    IntelliJ IDEA使用教程从入门到上瘾(2019图文版) IntelliJ IDEA 是一款集成开发环境(IDE),被广泛应用于 Java 开发。本教程将从入门到上瘾,讲解 IntelliJ IDEA 的使用方法。 下载和安装 IntelliJ IDEA 下载 IntelliJ IDEA 的安装包,可前往官网下载: https://www.jetbr…

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