Java switch使用

Java switch使用

在这里插入图片描述

涉及关键字:
switch: 表达式
变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型,
case: 分支语句,需要指定当前分支的常量或者字面量
①可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号,每一个case代表一个分支
②case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面量,且不能重复
字面量:字面量是编程语言中表示固定值的符号或记号(token)
default: 默认分支
default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句
break: 终止switch
case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句

①case击穿
②default的作用示例
③break的作用示例
④default+break
⑤多个case

①case击穿

public static void main(String[] args) {a(1);System.out.println("----------------------------------");a(2);System.out.println("----------------------------------");a(0);
}private static void a(int a) {switch (a){case 1:System.out.println("aaaa11");case 2:System.out.println("aaaa22");}}

在这里插入图片描述

②default的作用示例

public static void main(String[] args) {b(0);System.out.println("----------------------------------");b(1);System.out.println("----------------------------------");b(2);
}private static void b(int b) {switch (b){case 1:System.out.println("bbbb11");case 2:System.out.println("bbbb22");default:System.out.println("bbbb-default");}}

在这里插入图片描述

③break的作用示例

public static void main(String[] args) {c(1);System.out.println("----------------------------------");c(2);System.out.println("----------------------------------");c(0);
}
private static void c(int c) {switch (c){case 1:System.out.println("cccc11");break;case 2:System.out.println("cccc22");default:System.out.println("cccc-default");}}

在这里插入图片描述

④default+break

public static void main(String[] args) {d(1);System.out.println("----------------------------------");d(2);System.out.println("----------------------------------");d(0);
}private static void d(int d) {switch (d){case 1:System.out.println("dddd11");break;default:System.out.println("dddd-default");break;case 2:System.out.println("dddd22");break;}}

在这里插入图片描述

public static void main(String[] args) {f(1);System.out.println("----------------------------------");f(2);System.out.println("----------------------------------");f(0);
}
private static void f(int f) {switch (f){case 1:System.out.println("ffff11");break;default:System.out.println("ffff-default");case 2:System.out.println("ffff22");break;}}

在这里插入图片描述

⑤多个case

public static void main(String[] args) {e(1);System.out.println("----------------------------------");e(2);System.out.println("----------------------------------");e(0);System.out.println("----------------------------------");e(3);
}
private static void e(int e) {switch (e){case 1:case 2:System.out.println("eeee11");break;case 3:case 4:System.out.println("eeee22");break;default:System.out.println("eeee-default");break;}}

在这里插入图片描述
综上:
1、正常情况下,针对不是最后一个的case分支,均需要配合break使用来终止switch语句,防止case击穿
2、多个case可以使用同一个分支,详见”⑤多个case“
3、有default分支的话,位置最好放在最后,此时不需要添加break;如果放在中间的位置,则需要配合break使用,用以终止switch语句。详见” ④default+break“

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/822715.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习R语言第三天

R语句中的函数信息 1. 函数信息 x <- c(1:100) x #获取x的长度信息 length(x) # 获取第一个数据信息 x[1] # 获取4到18的数据信息 x[c(4:18)]2.存入逻辑值的方式 # y中存入逻辑值的方式 y[c(T,F,T,F)]#输出大于5的数据信息 y[y>5]#输出大于5小于9的数字 y[y<5 &…

【图文教程】在PyCharm中导入Conda环境

文章目录 &#xff08;1&#xff09;在Anaconda Prompt中新建一个conda虚拟环境&#xff08;2&#xff09;使用PyCharm打开需要搭建环境的项目&#xff08;3&#xff09;配置环境 &#xff08;1&#xff09;在Anaconda Prompt中新建一个conda虚拟环境 conda create - myenv py…

OWASP发布十大开源软件安全风险清单

OWASP发布了“十大开源软件风险”TOP10清单&#xff0c;并针对每种风险给出了安全建议。 近年来开源软件安全风险快速增长&#xff0c;不久前曝光的XZ后门更是被称为“核弹级”的开源软件供应链漏洞。虽然XZ后门事件侥幸未酿成灾难性后果&#xff0c;但为全球科技界敲响了警钟&…

Day99:云上攻防-云原生篇K8s安全实战场景攻击Pod污点Taint横向移动容器逃逸

目录 云原生-K8s安全-横向移动-污点Taint 云原生-K8s安全-Kubernetes实战场景 知识点&#xff1a; 1、云原生-K8s安全-横向移动-污点Taint 2、云原生-K8s安全-Kubernetes实战场景 云原生-K8s安全-横向移动-污点Taint 如何判断实战中能否利用污点Taint&#xff1f; 设置污点…

STM32学习和实践笔记(14):按键控制实验

消除抖动有软件和硬件两种方法 软件方法就是在首次检测到低电平时加延时&#xff0c;通常延时5-10ms&#xff0c;让抖动先过去&#xff0c;然后再来检测是否仍为低电平&#xff0c;如果仍然是&#xff0c;说明确实按下。 硬件方法就是加RC滤波电路&#xff0c;硬件方法会增加…

✌粤嵌—2024/4/3—合并K个升序链表✌

代码实现&#xff1a; /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* merge(struct ListNode *l1, struct ListNode *l2) {if (l1 NULL) {return l2;}if (l2 NULL) {return l1;}struct Lis…

DNS服务器配置与管理(3)——综合案例

DNS服务器配置与管理 前言 在之前&#xff0c;曾详细介绍了DNS服务器原理和使用BIND部署DNS服务器&#xff0c;本文主要以一个案例为驱动&#xff0c;在网络中部署主DNS服务器、辅助DNS服务器以及子域委派的配置。 案例需求 某公司申请了域名example.com&#xff0c;公司服…

第七周学习笔记DAY.1-封装

学完本次课程后&#xff0c;你能够&#xff1a; 理解封装的作用 会使用封装 会使用Java中的包组织类 掌握访问修饰符&#xff0c;理解访问权限 没有封装的话属性访问随意&#xff0c;赋值也可能不合理&#xff0c;为了解决这些代码设计缺陷&#xff0c;可以使用封装。 面向…

vue快速入门(二十八)页面渲染完成后让输入框自动获取焦点

注释很详细&#xff0c;直接上代码 上一篇 新增内容 使用挂载完成的钩子函数用focus使输入框获取焦点 源码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"width…

leetcode:739.每日温度/496.下一个更大元素

单调栈的应用&#xff1a; 求解当前元素右边比该元素大的第一个元素&#xff08;左右、大小都可以&#xff09;。 单调栈的构成&#xff1a; 单调栈里存储数组的下标&#xff1b; 单调栈里的元素递增&#xff0c;求解当前元素右边比该元素大的第一个元素&#xff1b;元素递…

上海计算机学会2021年1月月赛C++丙组T4三倍游戏

题目描述 三倍游戏是一种单人游戏。玩家会得到 n 个整数a1​,a2​,…,an​。玩家从这些整数中挑出两个数字相加&#xff0c;如果它们的和是 3 的倍数&#xff0c;则可以将这两个整数消除&#xff0c;如此反复&#xff0c;直到不能再消除数字为止。 请问玩家最多能消除多少对数…

(十一)C++自制植物大战僵尸游戏客户端更新实现

植物大战僵尸游戏开发教程专栏地址http://t.csdnimg.cn/cFP3z 更新检查 游戏启动后会下载服务器中的版本号然后与本地版本号进行对比&#xff0c;如果本地版本号小于服务器版本号就会弹出更新提示。让用户选择是否更新客户端。 在弹出的更新对话框中有显示最新版本更新的内容…

2024-04-17 问AI: 介绍一下卷积网络GoogleNet

文心一言 GoogleNet&#xff0c;也被称为Inception-v1&#xff0c;是由Google团队在2014年提出的一种深度卷积神经网络架构&#xff0c;专门用于图像分类和特征提取任务。它在ILSVRC&#xff08;ImageNet Large Scale Visual Recognition Challenge&#xff09;比赛中取得了优…

2024五一杯数学建模A题思路分析

文章目录 1 赛题思路2 比赛日期和时间3 组织机构4 建模常见问题类型4.1 分类问题4.2 优化问题4.3 预测问题4.4 评价问题 5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 比赛日期和时间 报名截止时间&#xff1a;2024…

代码随想录算法训练营day41

343. 整数拆分 五部曲&#xff1a; dp数组下标及含义&#xff1a;dp[i]表示第i个位置最大乘积dp数组初始化&#xff1a;dp[2]1递推公式&#xff1a;dp[i] max({dp[i], (i - j) * j, dp[i - j] * j});遍历方向&#xff1a;从前往后遍历dp数组推到举例&#xff1a; 2 3 4 5 6 …

光学雨量计雨量传感器的工作原理与实时数据采集

光学雨量计雨量传感器的工作原理与实时数据采集 河北稳控科技光学雨量计是一种常用的雨量传感器&#xff0c;其工作原理基于光学原理和实时数据采集技术。它的主要作用是测量雨水的大小和强度&#xff0c;为气象、农业、水文等领域提供重要的数据支持。 光学雨量计的工作原理是…

单片机之ESP8266模块

目录 ESP8266简介 前言 ESP8266的工作模式 ESP8266引脚说明 ESP8266测试 步骤 单片机与esp8266交互 前言 收到数据的格式 AP模式 服务器模式 外部执行命令 代码内执行命令 代码部分 客户端模式 外部执行命令 内部执行命令 代码部分 STA模式 服务器模式 外…

使用ansible的连通性检查的关键参数

使用ansible进行ping命令的时候发现有些不通 ansible cba -m ping 10.1.1.1 | FAILED! > {"msg": "Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this. Please add this h…

10个常用的损失函数及Python代码实现

本文深入理解并详细介绍了10个常用的损失函数及Python代码实现。 什么是损失函数&#xff1f; 损失函数是一种衡量模型与数据吻合程度的算法。损失函数测量实际测量值和预测值之间差距的一种方式。损失函数的值越高预测就越错误&#xff0c;损失函数值越低则预测越接近真实值…

LUCF-Net:轻量级U形级联 用于医学图像分割的融合网络

LUCF-Net&#xff1a;轻量级U形级联 用于医学图像分割的融合网络 摘要IntroductionRelated WorkProposed MethodLocal-Global Feature ExtractionEncoder and DecoderFeature FusionLoss Function LUCF-Net: Lightweight U-shaped Cascade Fusion Network for Medical Image Se…