switch case 支持的 6 种数据类型!

简介: 有粉丝建议可以偶尔推送一些 Java 方面的基础知识,一方面可以帮助一初学者,也可以兼顾中高级的开发者。那么今天就讲一下 Java 中的 switch case 语句吧,有忘记的同学正好可以温习一下。Java 中 switch case 语句用来判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

有粉丝建议可以偶尔推送一些 Java 方面的基础知识,一方面可以帮助一初学者,也可以兼顾中高级的开发者。


那么今天就讲一下 Java 中的 switch case 语句吧,有忘记的同学正好可以温习一下。


Java 中 switch case 语句用来判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

语法格式如下:

switch(expression){
    case value :
       //语句
       break; //可选
    case value :
       //语句
       break; //可选
    //你可以有任意数量的case语句
    default : //可选
       //语句
}

这里的 expression 都支持哪些类型呢?


基本数据类型:byte, short, char, int


包装数据类型:Byte, Short, Character, Integer


枚举类型:Enum


字符串类型:String(Jdk 7+ 开始支持)


基本数据类型和字符串很简单不用说,下面举一个使用包装类型和枚举的,其实也不难,注意只能用在 switch 块里面。

// 使用包装类型
Integer value = 5;
switch (value) {
    case 3:
        System.out.println("3");
        break;
    case 5:
        System.out.println("5");
        break;
    default:
        System.out.println("default");
}
// 使用枚举类型
Status status = Status.PROCESSING;
switch (status) {
    case OPEN:
        System.out.println("open");
        break;
    case PROCESSING:
        System.out.println("processing");
        break;
    case CLOSE:
        System.out.println("close");
        break;
    default:
        System.out.println("default");
}

使用 switch case 语句也有以下几点需要注意。


case 里面必须跟 break,不然程序会一个个 case 执行下去,直到最后一个 break 的 case 或者 default 出现。


case 条件里面只能是常量或者字面常量。


default 语句可有可无,最多只能有一个。


相关文章
|
SQL 存储 Java
SpringBoot集成Liquibase
SpringBoot集成Liquibase
912 0
|
消息中间件 Java 应用服务中间件
Spring Boot 的核心注解有哪些?
【2月更文挑战第9天】
624 0
Spring Boot 的核心注解有哪些?
|
缓存 算法 安全
互联网并发与安全系列教程(02) - 服务限流
互联网并发与安全系列教程(02) - 服务限流
283 0
|
消息中间件 安全 Kafka
Kafka保证消息不丢失不重复
Kafka保证消息不丢失不重复
498 6
|
Ubuntu 机器人 开发工具
具身智能干货|ROS2理论与实践系列(一):ROS2概述与环境搭建
《ROS2理论与实践》系列课程主要由基础篇、核心篇、应用篇、进阶篇以及项目库五部分组成。本阶段为《ROS2理论与实践——核心篇》课程,核心篇课程设计以官方内容为标准,主要介绍ROS2中的通信机制与开发者工具,其中前者是整个ROS2框架中的核心构成,而后者则为开发者能够高效的构建应用程序提供有力支持。本阶段课程目的是帮助大家快速上手ROS2,为后续进阶奠定基础。
2306 12
具身智能干货|ROS2理论与实践系列(一):ROS2概述与环境搭建
|
人工智能 自然语言处理 安全
国内如何使用claude?人工智能claude国内使用方法来了!
Claude AI 是由 Anthropic 公司开发的一款新一代 AI 助手,旨在成为更安全、更友好、更可靠的 AI 系统。它基于 Anthropic 对 AI 安全性的深入研究,并采用 “Constitutional AI” (宪法式 AI) 的训练方法,
|
消息中间件 算法 Java
面试官:Kafka中的key有什么用?
面试官:Kafka中的key有什么用?
724 3
面试官:Kafka中的key有什么用?
|
机器学习/深度学习 TensorFlow 算法框架/工具
关于Tensorflow!目标检测预训练模型的迁移学习
这篇文章主要介绍了使用Tensorflow进行目标检测的迁移学习过程。关于使用Tensorflow进行目标检测模型训练的实战教程,涵盖了从数据准备到模型应用的全过程,特别适合对此领域感兴趣的开发者参考。
368 3
关于Tensorflow!目标检测预训练模型的迁移学习
|
监控 Java
【Java】已解决:Java.lang.OutOfMemoryError: GC overhead limit exceeded
【Java】已解决:Java.lang.OutOfMemoryError: GC overhead limit exceeded
5848 0
|
设计模式 Java 编译器
我们可以在 switch case 中使用 String 吗?
【8月更文挑战第21天】
949 0