switch的使用及注意事项
一、switch语句和if语句的区别
switch语句和if语句都可用于分支条件的选择,但switch后面的控制表达式只能是byte、short、char、int、String和枚举类型,不能是boolean类型,if后面的控制表达式是boolean类型;switch语句中各个case标签后代码块的开始点和结束点非常清晰,因此完全可以省略case后代码块的花括号。
二、switch的使用及注意事项
为了更清晰的认识switch,下面通过一段程序来示范switch的用法:
public class TestSwitch {public static void main(String[] args) {//声明变量languageTypeString languageType = "Java";//执行switch语句switch (languageType) {case "C":System.out.println("C语言");break;case "Java":System.out.println("Java语言");break; case "C++":System.out.println("C++语言");break;case "Python":System.out.println("Python语言");break;default:System.out.println("语言类型输入错误");}}
}
运行上面的程序输出:Java语言。
因为定义的变量(switch后面的控制表达式)“languageType” 与"Java"匹配。
如果把上面程序中的每个case标签里的break语句去掉,将会发生什么样的结果呢?那么我先把每个break语句注释掉,运行结果如下:
Java语言 C++语言 Python语言 语言类型输入错误
输出结果是不是很奇怪!这正是switch语句的运行流程决定的,只要进入switch语句的入口,程序会一直运行下去,直到遇到break语句,如果省略了break语句,那么匹配case值后的所有情况(包括default)都会被执行。
所以,使用switch语句时,有两个值得注意的地方:
1)switch后面的控制表达式只能是byte、short、char、int、String和枚举类型;
2)如果省略了case后的代码块break,将会引入一个陷阱。
switch的使用及注意事项相关推荐
- switch语句使用时注意事项
如下代码编译时编译器给出如下错误: error C2361: " default "标签跳过" temp1"的初始化操作 void main() { int i ...
- C语言switch分支结构
文章目录 一.if else的不足 二.switch语句 三.注意事项 四.课后作业 五.版权声明 一.if else的不足 C语言虽然没有限制 if else 能够处理的分支数量,但当分支过多时,用 ...
- 选择结构_穿透的switch语句
case的穿透性 在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运行,直到遇到break,或者整体switch结束. public ...
- Java中的switch分支语句
一.switch简介和语法 switch语句用于多分支选择,由一个控制表达式和多个case标签组成.switch语句后面的控制表达式的数据类型只能是byte.short.char.int.String ...
- javaSE基础04
javaSE基础04 一.三木运算符 <表达式1> ? <表达式2> : <表达式3> "?"运算符的含义是: 先求表达式1的值, 如果为真, ...
- c语言可作为程序分支的表达式,[计算机软件及应用]C语言程序设计4--李2012.ppt
[计算机软件及应用]C语言程序设计4--李2012 输入三个字整数,输出其中最大的数(顺序) 方法二: main() { int a,b,c,t; scanf("%d,%d,%d" ...
- 第三周总结(2022.10.31~2022.11.4)
目录 Day1 1.if...else...和三元运算符的区别? 2.if...else...嵌套 3.流程控制语句之switch(考点很多) 3.1什么是switch语句? 3.2switch语句中 ...
- C语言程序设计李,C语言程序设计4--李2012.ppt
C语言程序设计4--李2012 输入三个字整数,输出其中最大的数(顺序) 方法二: main() { int a,b,c,t; scanf("%d,%d,%d",&a,&a ...
- Java 基础学习记录
Java 基础 DAY1 1.关于进制的运算 2.关于存储单元 3.关于CMD的基本命令 4.JRE与JDK 5.Java环境变量 6.程序开发步骤 7.HelloWorld 8.标识符 9.常量 1 ...
最新文章
- Python程序设计题解【蓝桥杯官网题库】 DAY6-基础练习
- isamchk mysql_利用Myisamchk对MySQL数据表进行体检
- Simple DNS Plus 5.2 build 117
- 程序员们记得还是八五年PC登陆我国时候的事?
- html引入css webpack_深入剖析webpack——webpack 基础
- Python 类和实例
- RMAN备份与恢复资料
- 初中英语听力计算机考试反馈,【初中英语】英语听说机考,怎样才能有效提高英语听力和口语水平?...
- 机器人周志_机器人教学的意义
- html5手机页面工具,Html5技术变革下的H5页面制作工具和手机app开发工具
- 乐1s 乐视X501_官方线刷包_救砖包_解账户锁
- 从头开始学Tableau-第十七章(客户细分)
- linux 注释批处理,Linux_批处理 正则表达式(findstr) 整理,语法 findstr [/b] [/e] [/l] [/r] [/s] - phpStudy...
- XYOj2113:找点(区间选点问题)
- Java反编译器JD
- python海龟绘图小猪佩奇_海龟绘图(Turtle Graphics)
- LSDyna在土木工程静力问题中的应用
- yum及yum-config-manager命令详解
- Android使用MediaCodec和OpenGL对多段视频画面进行裁剪和拼接
- 思岚科技Athena打破机器人底盘价格极限