Java入门基础:浅显易懂 switch

文章目录

  • 前言
  • 一、switch
  • 二、语法
  • 三、示例
  • 四、case穿透示例


前言

switch 在开发过程中其实并不常用,95%以上都是用 if 而不是 switch。因为 switch 能做的 if 能做,switch 不能做的 if 也能做,而反过来就不行了。所以对于 switch 能够看懂代码即可


一、switch

switch语句,属于选择结构,又被称为分支语句/条件控制语句。是根据"比较值"进行选择执行的一类语句
对于switch可以简单理解为:

code中文
switch用于存放"比较值"
case等于
break中断,用于防止case穿透。中断比较,不再继续往下执行
default如果所有case都不匹配,则执行default

二、语法

	switch(比较值) {case1:语句体1;break;case2:语句体2;break;...default:    语句体n+1;break;}

三、示例

	int dayOfWeek = 2;switch (dayOfWeek) {case 1: // 如果dayOfWeek等于1,打印星期一System.out.println("星期一");break;case 2: // 如果dayOfWeek等于2,打印星期二System.out.println("星期二");break;case 3: // 如果dayOfWeek等于3,打印星期三System.out.println("星期三");break;case 4: // 如果dayOfWeek等于4,打印星期四System.out.println("星期四");break;case 5: // 如果dayOfWeek等于5,打印星期五System.out.println("星期五");break;case 6: // 如果dayOfWeek等于6,打印星期六System.out.println("星期六");break;default:    // 否则,打印星期日System.out.println("星期日");break;}

四、case穿透示例

	/** 去掉部分break,出现case穿透* 执行结果:星期二 星期三 星期四 星期五 星期六 星期日* 执行流程:*   1、dayOfWeek初始值为2,往下执行switch*   2、遇到case 1 dayOfWeek的值为2,而case 1的值为1,2不等于1,不满足条件,不执行语句体*   3、然后遇到case 2 dayOfWeek的值为2,而case 2的值为2,2等于2,满足条件,打印星期二*   4、打印之后没有在case 2遇到break,继续往下执行,并且这种执行会直接忽略后续的所有case和default,不做任何判断,直接执行后续的所有语句体,直到遇到break为止*/int dayOfWeek = 2;switch (dayOfWeek) {case 1: // 如果dayOfWeek等于1,打印星期一System.out.println("星期一");break;case 2: // 如果dayOfWeek等于2,打印星期二System.out.println("星期二");case 3: // 如果dayOfWeek等于3,打印星期三System.out.println("星期三");case 4: // 如果dayOfWeek等于4,打印星期四System.out.println("星期四");case 5: // 如果dayOfWeek等于5,打印星期五System.out.println("星期五");case 6: // 如果dayOfWeek等于6,打印星期六System.out.println("星期六");default:    // 否则,打印星期日System.out.println("星期日");break;}

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

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

相关文章

matlab不用sawtooth,自己写代码实现锯齿波/三角波

matlab自己写代码实现锯齿波/三角波 为什么要自己写代码,不用现成的函数sawtooth? 函数sawtooth的采样频率是固定的,也就是给定一个时间段,只能按照固定的频率取点。比如10s内,每1s取一个点。这样就得到了1s 2s 3s……

源码学习:smallchat

源码:https://github.com/antirez/smallchat 可用于学习网络通信,源码很小。 考虑先基于第一版进行分析: https://github.com/antirez/smallchat/blob/Episode-1/smallchat.c 先给出readme文件的翻译: Smallchat TLDR: 这只是一…

激活函数与其导数:神经网络中的关键元素

激活函数是神经网络中的重要组成部分,有力地推动了深度学习的发展。然而,仅仅了解和选择激活函数是不够的,我们还需要理解激活函数的导数。本文将详细介绍激活函数的概念、作用及其导数的重要性,并探究导数对神经网络训练的影响。…

【室内定位系统源码】UWB超宽带定位技术的特点和应用前景

uwb人员、物品定位系统源码,智慧工厂人员安全管理定位,高精度定位系统源码 UWB超宽带定位技术概念: 超宽带无线通信技术(UWB)是一种无载波通信技术,UWB不使用载波,而是使用短的能量脉冲序…

Presto+Alluxio数据平台实战

数新网络,让每个人享受数据的价值https://xie.infoq.cn/link?targethttps%3A%2F%2Fwww.datacyber.com%2F 一、Presto & Alluxio简介 Presto Presto是由Facebook开发的开源大数据分布式高性能 SQL查询引擎。 起初,Facebook使用Hive来进行交互式查询…

AI创作工具:Claude2注册保姆级教程

最近软件打算多接入几个AI写作平台,包括讯飞星火,百度文心,Claude2,这样就能给用户提供更多的写作选择 经过半天的调研,讯飞星火,百度文心一言,接入都比较简单,毕竟是国内的。 在调…

关于pytorch以及相关包的安装教程

一.查看自己电脑的配置 首先查看自己电脑的cuda的版本,WinR,敲入cmd打开终端 输入nvidia-smi,查看自己电脑的显卡等配置 这里要说明一下关于这个CUDA,它具有向后兼容性,这意味着支持较低版本的 CUDA 的应用程序通常也可以在较高版本的 CUD…

Jmeter接口自动化测试操作流程

在企业使用jmeter开展实际的接口自动化测试工具,建议按如下操作流程, 可以使整个接口测试过程更规范,更有效。 接口自动化的流程: 1、获取到接口文档:swagger、word、excel ... 2、熟悉接口文档然后设计测试用例&am…

播放器开发(二):了解FFmpeg与SDL常用对象和函数

学习课题:逐步构建开发播放器【QT5 FFmpeg6 SDL2】 前言 这一篇内容就是简单的了解一遍一些常用的函数名称和作用,混个眼熟。 能看源码的就去看源码!!! 能看源码的就去看源码!!! …

C#每天复习一个重要小知识day5:枚举与switch是天生一对

因为枚举一般用来表示条件和类型等等,所以它一般用条件分支来表现。所以枚举与switch是天生一对,因为很方便。(用if语句也可,但是没switch方便) 简单的举例: namespace 精细练习 {enum E_Player {Main,Ot…

前端大厂(腾讯、字节跳动、阿里......)校招面试真题解析,让你面试轻松无压力!

前言 校招很重要,应届生的身份很珍贵!在校招的时候与我们竞争的大部分都是没有工作经验的学生,而且校招企业对学生的包容度高,一般对企业来说,社招更看重实际工作经验,而校招更愿意“培养人”,校…

node fs模板及蓝桥案例实战

文章目录 介绍文件写入writeFile 异步写入writeFileSync 同步写入appendFile / appendFileSync 追加写入createWriteStream 流式写入 文件读取readFile 异步读取readFileSync 同步读取createReadStream 流式读取 文件移动与重命名文件删除文件夹操作mkdir / mkdirSync 创建文件…

python操作redis

操作单redis 需要安装redis模块:pip install redis demo: #!/usr/bin/env python3 # coding utf-8import redis import threadingdef a():conn redis.Redis(host"192.168.1.66", port6379, password"123456", db6,# decode_res…

数据库表结构导出成Excel或Word格式

前言 该工具主要用于导出excel、word,方便快速编写《数据库设计文档》,同时可以快速查看表的结构和相关信息。 本博客仅作记录,最新源码已经支持多种数据库多种格式导出,有兴趣的可移步源码作者地址:https://gitee.co…

模运算Mod

模运算是一种数学运算,通常用于计算机编程和数论中。它表示的是两个整数相除后的余数。在编程中,模运算符(%)用于计算一个数除以另一个数的余数。在数论中,模运算可以用于解决一些与整数除法有关的问题,如最…

RK3568驱动指南|第八篇 设备树插件-第73章 设备树插件使用实验

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

二十三种设计模式全面解析-深入探讨状态模式的高级应用技术:释放对象行为的无限可能

在软件开发中,状态管理是一个常见的挑战。当对象的行为随着内部状态的变化而变化时,有效地管理对象的状态和相应的行为变得至关重要。在这方面,状态模式提供了一种优雅而灵活的解决方案。它允许对象在运行时根据内部状态的改变而改变其行为&a…

【Redis】前言--redis产生的背景以及过程

一.介绍 为什么会出现Redis这个中间件,从原始的磁盘存储到Redis中间又发生了哪些事,下面进入正题 二.发展史 2.1 磁盘存储 最早的时候都是以磁盘进行数据存储,每个磁盘都有一个磁道。每个磁道有很多扇区,一个扇区接近512Byte。…

MYSQL基础之【创建数据表,删除数据表】

文章目录 前言MySQL 创建数据表通过命令提示符创建表使用PHP脚本创建数据表 MySQL 删除数据表在命令提示窗口中删除数据表使用PHP脚本删除数据表 后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:Mysql 🐱‍👓博主…

三菱PLC编码器转速测量功能块(梯形图和ST代码)

编码器转速测量功能块算法公式详细讲解请参考下面文章链接: SMART PLC编码器转速测量功能块(高速计数器配置+梯形图)-CSDN博客文章浏览阅读427次。里工业控制张力控制无处不在,也衍生出很多张力控制专用控制器,磁粉制动器等,本篇博客主要讨论PLC的张力控制相关应用和算法,…