【分支控制】(switch) 详解

switch分支结构

  • 基本语法
 switch (表达式){case 常量1: //当...语句块1;break; //跳出switchcase 常量2:语句块2;break;...case 常量n;语句块n;break;default:default语句块;break;}
  1. switch 关键字, 表示switch分支
  2. 表达式, 对应一个值
  3. case 常量1: 当表达式的值等于常量1, 就执行 语句块1
  4. break: 表示退出switch
  5. 如果和case常量1匹配, 就执行语句块1, 如果没有匹配, 就继续匹配case 常量2
  6. 如果一个都没有匹配上, 执行default

switch分支结构

  • 流程图
    在这里插入图片描述
  • 快速入门

案例:

  1. 请写一个程序, 该程序可以接收一个字符, 比如: a, b, c, d, e, f, g
  2. a表示星期一, b表示星期2…
  3. 根据用户的输入显示相应的信息, 要求使用switch语句
    Scanner input = new Scanner(System.in);System.out.println("请输入一个字符(a-g)");char c1 = input.next().charAt(0); ////在java中, 只要是有值返回, 就是一个表达式switch(c1) {case 'a':System.out.println("今天星期一");break;case 'b':System.out.println("今天星期二");break;case 'c':System.out.println("今天星期三");break;
//                ...default:System.out.println("输入有误");break;}

请添加图片描述

switch注意事项和细节讨论


  1. 表达式数据类型, 应和case 后的常量类型一致,或着是可以 自动转成 可以相互比较的类型, 比如输入的是字符, 而常量是int
  2. switch(表达式)中表达式的返回值必须是: (byte, short,int,char,enum,String)
  double c = 1.1;switch (c){ //错误case 1.1 : //错误System.out.println("ko");break;}
  1. case子句中的值必须是常量, 而不能是变量
  2. default子句是可选的, 当没有匹配的case时, 执行default
  3. break语句用来在执行完一个case分支后使程序跳出switch语句块; 如果没有写break, 程序会顺利执行到switch结尾.

请添加图片描述

案例练习


  1. 使用 switch 把小写类型的 char型转为大写(键盘输入)。只转换 a, b,c, d, e.其它的输出"other
//        创建Scanner对象Scanner input = new Scanner(System.in);System.out.println("请输入 a~e:");char c1 = input.next().charAt(0);switch (c1) {case 'a':c1 = 'A';System.out.println(c1);break;case 'b':c1 = 'B';System.out.println(c1);break;case 'c':c1 = 'C';System.out.println(c1);break;case 'd':c1 = 'D';System.out.println(c1);break;case 'e':c1 = 'E';System.out.println(c1);break;default:System.out.println("other");break;}

小伙伴做剩下的题吧

  1. 对学生成绩大于60分的,输出"合格”。低于60分的,输出"不合格”。(注:输入。的成绩不能大于100),提示 成绩/60

  2. 根据用于指定月份,打印该月份所属的季节。3,4,5 春季 6,7,8 夏季 9,10,11秋季 12,1,2 冬季[练习,提示 使用穿透 ]


请添加图片描述

switch和if的比较


  1. 如果判断的具体数值不多, 而且符合byte, short, int, char, enum[枚举], String这6种类型, 虽然两个语句都可以使用, 建议使用switch语句

  2. 其他情况: 对区间判断, 对结果为boolean类型判断, 使用if, if的范围更广

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

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

相关文章

详解Spring MVC

目录 1.什么是Spring Web MVC MVC定义 2.学习Spring MVC 建立连接 RequestMapping 注解介绍及使用 获取单个参数 获取多个参数 获取普通对象 获取JSON对象 获取基础URL参数 获取上传文件 获取Header 获取Cookie 获取Session 总结 1.什么是Spring Web MVC 官⽅对于…

转型先锋!G7易流的数字化到底有多牛?

在供应链全球一体化进程中,国内外局势的改变,使得物流行业运力供大于求趋势愈加明显,国内供应链参与者面对内外发展需求和激烈的市场竞争,需要打破同质化竞争的局面,提供具有特色的服务,形成专业、高效、灵…

深度学习500问——Chapter09:图像分割(3)

文章目录 9.8 PSPNet 9.9 DeepLab系列 9.9.1 DeepLabv1 9.9.2 DeepLabv2 9.9.3 DeeoLabv3 9.9.4 DeepLabv3 9.8 PSPNet 场景解析对于无限制的开放词汇和不同场景来说是具有挑战性的。本文使用文中的 pyramid pooling module 实现基于不同区域的上下文集成,提出了PS…

OrangePi AIpro初识及使用大模型GPT-Neo-1.3B测试

OrangePi AIpro介绍 1.1. 开发板简介 Orange Pi AI Pro 开发板是香橙派联合华为精心打造的高性能AI 开发板,其搭 载了昇腾AI 处理器,可提供8TOPS INT8 的计算能力,内存提供了8GB 和16GB 两种版本。可以实现图像、视频等多种数据分析与推理…

[xx点评完结]——白马点评完整代码+rabbitmq实现异步下单+资料,免费

项目所有功能已测,均可以跑通,Jmeter和RabbitMQ也都测了。 项目源码:dianpinghui: 仿黑马点评项目 资料: https://pan.baidu.com/s/1kTCn9PxgeIey90WgM4KRqA?pwdn66b 对佬有帮助可以给个star哈,感谢🌹🌹&#x1f3…

OpenHarmony 实战开发——内核IPC机制数据结构解析

一、前言 OpenAtom OpenHarmony(以下简称“OpenHarmony”)是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个…

【教学类-58-06】黑白三角拼图06(1页3张彩色黑点卡片,一种宫格36张,适合一个班级一次操作)

作品展示 背景需求 【教学类-58-05】黑白三角拼图05(2-10宫格,每个宫格随机1张-6张,带空格纸,1页3张黑白3张白卡)-CSDN博客文章浏览阅读343次,点赞10次,收藏6次。【教学类-58-05】黑白三角拼图…

玄机平台应急响应—webshell查杀

1、前言 这篇文章说一下应急响应的内容,webshell查杀呢是应急响应的一部分。那么什么是应急响应呢,所谓的应急响应指的是,当网站突然出现异常情况或者漏洞时,能够马上根据实际问题进行分析,然后及时解决问题。 2、应…

新增长100人研讨会:台州制造业企业共探数字驱动下的业绩增长策略

2024年5月17日,纷享销客联合鑫磊压缩机,在台州举办了一场主题为“数字化驱动下的业绩增长策略”的研讨会。本次会议汇聚台州多家制造行业的10余位数字化管理者,共同探讨在数字化转型浪潮中,制造业如何实现业绩的持续增长。 鑫磊压…

计算机二级Access操作题总结——基本操作

基础操作题 设置主键 例:将“线路”表中的“线路ID”字段设置为主键 ①右键单击“线路”表; ②单击【设计视图】; ③鼠标指到表的第一行→“线路ID”处,右键单击; ④单击【主键】 设置有效性规则 例:设…

【Linux】Linux基本指令1

1.软件,OS,驱动 我们看看计算机的结构层次 1.1.操作系统 操作系统是一款做 软硬件管理 的软件 操作系统(计算机管理控制程序)_百度百科 (baidu.com) 操作系统(英语:Operating System,缩写&a…

【全开源】景区手绘地图导览系统源码(ThinkPHP+FastAdmin)

一款基于ThinkPHPFastAdmin开发多地图手绘地图导览系统(仅支持H5),景区升4A5A必备系统,高级版支持全景。 ​打造个性化游览新体验 一、引言:景区导览系统的革新 在旅游业蓬勃发展的今天,景区导览系统成为了提升游客体验的关键。…

java方法负载问题

先介绍一下方法的重载 下面是例子 方法名都为sum而形参是不同的 记住! 是否为重载关系 1在同一个类里面 2形参不同(与返回值无关) 3方法名一样 第一个图为什么错? 答案:虽然在同一个类里面,并且方法名…

深度学习设计模式之组合模式

文章目录 前言一、介绍二、详细分析1.核心组成2.实现步骤3.代码示例4.优缺点优点缺点 5.使用场景 总结 前言 组合模式是将对象组合成树形结构来表现"整体/部分"层次结构,可以更好的实现管理操作。 一、介绍 组合设计模式又叫部分整体模式,将…

Kali : 安装Google Chrome 浏览器和ChromeDriver

目录 一、安装Google Chrome 浏览器 1、下载Google Chrome 2、安装Chrome 3、安装依赖包 二、安装ChromeDriver 1、查看Chrome版本 ​2、下载ChromeDriver 3、解压下载包 4、设置全局访问 5、赋予可执行权限 6、验证chromedriver 7、程序测试 一、安装Google Chrom…

【全开源】场馆预定系统源码(ThinkPHP+FastAdmin+UniApp)

一款基于ThinkPHPFastAdminUniApp开发的多场馆场地预定小程序,提供运动场馆运营解决方案,适用于体育馆、羽毛球馆、兵乒球馆、篮球馆、网球馆等场馆。 场馆预定系统源码:打造高效便捷的预定体验 一、引言:数字化预定时代的来临 …

【多态】(超级详细!)

【多态】(超级详细!) 前言一、 多态的概念二、重写1. 方法重写的规则2. 重写和重载的区别 三、多态实现的条件四、 向上转型五、动态绑定 前言 面向对象的三大特征:封装性、继承性、多态性。 extends继承或者implements实现&…

基于物联网技术的智能家居实训教学解决方案

引言 随着信息技术的飞速发展,,物联网(IoT)已深入至我们生活的每一个角落,从智能家居、智能健康、智能交通到智慧城市,无所不在。物联网技术已成为推动社会进步和产业升级的重要力量。智能家居作为物联网技…

5位机械工程师如何共享一台服务器算力

在数字化浪潮的推动下,算力共享技术正逐渐成为机械工程师们提升工作效率、优化资源配置的重要工具。那么五位机械工程师如何共享一台服务器算力呢? 首先,我们需要了解算力共享的基本概念。算力共享是指通过特定的技术手段,将分散…

机器学习之支持向量机SVM

支持向量机 概念 是supported vector machine(支持向量机),即寻找一个超平面使样本分成两类,且间隔最大分类 分类 硬间隔 若样本线性可分,且所有样本分类正确情况下,寻找最大间隔,即硬间隔 若…