switch java 语法_Java编程—switch语句语法详解
5.3.2 switch语句
switch关键字的中文意思是开关、转换的意思,switch语句在条件语句中特别适合做一组变量相等的判断,在结构上比if语句要清晰很多。
switch语句的语法格式为:
switch(表达式){
case 值1:
功能代码1;
[break; ]
case 值2:
功能代码2;
[break; ]
……
default:
功能代码1;
[break; ]
}
语法说明:
1、 表达式的类型只能为byte、short、char和int这4种之一。
2、 值1、值2…值n只能为常数或常量,不能为变量。
3、 功能代码部分可以写任意多句。
4、 break关键字的意思是中断,指结束switch语句,break语句为可选。
5、 case语句可以有任意多句,是标号语句。
6、 default语句可以写在switch语句中的任意位置,功能类似于if语句中的else。
执行流程:当表达式的值和对应case语句后的值相同时,既从该位置开始向下执行,一直执行到switch语句的结束,在执行中,如果遇到break语句,则结束switch语句的执行。
则在if-else if-else语句中,根据月份获得每个月的天数,不考虑闰年,的示例代码如下:
int month = 10;
int days = 0;
switch(month){
case 1:
days = 31;
break;
case 2:
days = 28;
break;
case 3:
days = 31;
break;
case 4:
days = 30;
break;
case 5:
days = 31;
break;
case 6:
days = 30;
break;
case 7:
days = 31;
break;
case 8:
days = 31;
break;
case 9:
days = 30;
break;
case 10:
days = 31;
break;
case 11:
days = 30;
break;
case 12:
days = 31;
break;
}
System.out.println(days);
根据switch语句的语法,该代码也可以简化为如下格式:
int month = 10;
int days = 0;
switch(month){
case 2:
days = 28;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
default:
days = 31;
}
System.out.println(days);
代码说明:因为switch语句每次比较的是相等关系,所以可以把功能相同的case语句合并起来,而且可以把其他的条件合并到default语句中,这样可以简化case语句的书写。该代码的结构比最初的代码简洁很多了。
虽 然在语法上switch只能比较相等的结构,其实某些区间的判别也可以通过一定的变换使用switch语句进行实现。例如if-else if-else语句示例中的分数转换的示例,则分数的区间位于0-100之间,如果一个一个的去比较,case语句的数量会比较多,所以可以做一个简单的 数字变换,只比较分数的十位及以上数字,这样数字的区间就缩小到了0-10,则实现的代码如下:
int score = 87;
switch(score / 10){
case 10:
case 9:
System.out.println(‘A’);
break;
case 8:
System.out.println(‘B’);
break;
case 7:
System.out.println(‘C’);
break;
case 6:
System.out.println(‘D’);
break;
default:
System.out.println(‘E’);
}
当然,switch语句不是很适合进行区间的判别,更多的区间判别一般还是使用if-else if-else语句进行实现。
5.3.3 小结
if语句可以实现程序中所有的条件,switch语句特别适合一系列点相等的判别,结构显得比较清晰,而且执行速度比if语句要稍微快一些,在实际的代码中,可以根据需要来使用对应的语句实现程序要求的逻辑功能。
switch java 语法_Java编程—switch语句语法详解相关推荐
- java if 用法详解_Java if判断语句用法详解
Java if判断语句用法详解 if关键字中文意思是如果,其细致的语法归纳来说总共有三种:if语句.if-else语句和if-else if-else语句,下面重点介绍if语句. if语句 语法 if ...
- java编程50实例_java编程实例大全及详解谜底(50例).doc
java编程实例大全及详解谜底(50例).doc 还剩 33页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: 谓 ...
- java 复合_Java复合语句的使用方法详解
与 C 语言及其他语言相同, Java 语言的复合语句是以整个块区为单位的语句,所以又称为块语句.下面我们来看看有关复合语句的使用方法和实例. 复合语句由开括号"{"开始,闭括号& ...
- java中流_Java中流的有关知识点详解
Java中流的有关知识点详解 发布时间:2020-09-17 03:50:59 来源:脚本之家 阅读:103 作者:mumu1998 什么是流? 流:程序和设备之间连接起来的一根用于数据传输的管道,流 ...
- java 深拷贝_java 深拷贝与浅拷贝机制详解
java 深拷贝与浅拷贝机制详解 概要: 在Java中,拷贝分为深拷贝和浅拷贝两种.java在公共超类Object中实现了一种叫做clone的方法,这种方法clone出来的新对象为浅拷贝,而通过自己定 ...
- 希尔排序基础java代码_java 算法之希尔排序详解及实现代码
摘要:这篇Java开发技术栏目下的"java 算法之希尔排序详解及实现代码",介绍的技术点是"希尔排序详解.实现代码.希尔排序.Java.实现.代码",希望对大 ...
- java 搜索_Java实现搜索功能代码详解
首先,我们要清楚搜索框中根据关键字进行条件搜索发送的是Get请求,并且是向当前页面发送Get请求 //示例代码 请求路径为当前页面路径 "/product" 当我们要实现多条件搜索 ...
- csdn java社区_java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET
Java 流在处理上分为字符流和字节流.字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符.字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组. Java 内用 U ...
- java装饰模式_Java装饰者模式实例详解
本文实例讲述了Java装饰者模式.分享给大家供大家参考,具体如下: 装饰模式 在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来包裹真实的对象. 装 ...
最新文章
- python 查看函数调用栈
- mysql安装笔记190914
- 【Flink】FLink 1.12 版本的 Row 类型 中的 RowKind 是干嘛的
- HBase 完全分布式的安装
- Linux 使用 shell 脚本处理字符串
- C语言:动态爱心代码
- unity3d 取锚点位置_天涯明月刀手游草鱼在哪里钓 天涯明月刀草鱼位置及|天涯|明月-游戏资讯...
- 计算机基础知识刷题app,计算机考试刷题app
- 并联机构工作空间求解_结构计算软件—结构力学求解器
- Myeclipse中编辑Jsp时解决光标乱跑的方法
- 润乾报表统计图各属性功能介绍
- vcf格式文件转化为Excel(csv)格式文件(R语言的write.csv,write.table功能,Excel表的文件导入功能)...
- 笔记本外接显示器之后扩展屏分辨率问题
- 有关爬虫加载Ajax数据或请求json数据集的(快速高效)方法
- 云计算的定义是什么?
- 一探B站后台架构, 他山之石, 何以攻玉? -- 仅从一个一线Golang开发者的角度谈B站4.22代码
- 首届.NET Core开源峰会 2018年5月20日
- html 下拉组件被下面的组件挡住,div被select下拉框挡住了--5种解决方法
- IDC:2017年第一季度全球企业存储市场保持平稳
- 树莓派linux系统识别u盘启动,树莓派3 U盘启动方案