switch结构可以更好的解决等值判断问题
switch (表达式){
case 常量 1:
//代码块1;
break;
case 常量 2:
//代码块2;
break;
。。。。。。
default:
//代码块n;
break;
}
解释:
1.switch: 表示“开关”,这个开关就是switch后面小括号里的值,
小括号里要放一个整形变量(表达式)或字符类型(表达式)。
2.case: 表示“情况。情形”,case必须是一个整型或字符型的常量,
通常是一个固定的字符,数字,如"8"."a"。case块可以有多个,
顺序可以改变,但是每个case后面常量的值必须各不相同。
3.default: 表示"默认",即其他情况都不满足。default后要紧跟冒号。
default块和下case块的先后顺序可以变动,不会影响程序执行的结果。
通常,default块放在末尾,也可以省略。
4.break 表示是“停止”,即跳出当前结构。
switch选择结构的执行过程:
先计算并获得switch后面小括号里的表达式或变量的值,然后
将计算结果顺序与每个case后的常量比较,当第二者相等时,执行这个case块中的代码;
当遇到break是,就跳出switch选择结构,执行switch选择结构之后的代码。
如果没有任何一个case后的常量与switch后的小括号中的值相等,则执行
switch末尾部分的default块中的代码。
注意:
1.每个case后的代码块可以有多个语句,即可以有一组语句,而且不需要用“{}”括起来。
case和default后都有一个冒号,不能漏写;否则编译不通过。对于每个case的结尾,
都要想一想是否需要从这里跳出整个switch结构。如果需要,不要忘记写"break";。
2.在case后面的代码块中当变量day的值为1 2 3 时,都将输出“奇数!”;
当变量day的值为2 4 6时,都将输出“偶数!”
eg:
int num=3;
switch(num){
case 1:
case 3:
case 5:
System.out.println("奇数!");
break;
case 2:
case 4:
case 6:
System.out.println("偶数!")
break;
}
多重if和switch选择结构很相似,它们都是用来处理多分支条件的结构,
但是switch选择结构只能用于等值条件判断的情况。
在JDK 1.6之前的版本中,switch选择结构的条件必须是整型变量或字符型变量,
但在JDK 1.7中,switch选择结构的条件中也可以使用String类型。
在程序开发过程中,需要考虑使程序具有较高的容错性。
switch结构可以更好的解决等值判断问题的更多相关文章
- C#不用union,而是有更好的方式实现 .net自定义错误页面实现 .net自定义错误页面实现升级篇 .net捕捉全局未处理异常的3种方式 一款很不错的FLASH时种插件 关于c#中委托使用小结 WEB网站常见受攻击方式及解决办法 判断URL是否存在 提升高并发量服务器性能解决思路
C#不用union,而是有更好的方式实现 用过C/C++的人都知道有个union,特别好用,似乎char数组到short,int,float等的转换无所不能,也确实是能,并且用起来十分方便.那C# ...
- 经验之谈-switch结构常见错误的分析与处理
1.缺少break语句 本来只想输出“出任武林盟主”可输出结果为 错误分析:在 switch结构中,每一个case语句块后面如果不写 break语句, switch就会 直接往下面的case语句块运行 ...
- 038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结
038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结 本文知识点:案例演示switch结构并对sw ...
- c语言学习之基础知识点介绍(六):if和switch结构
本节主要说c语言中的分支结构. c语言中分支结构有两大类:一种是if,一种是switch. 一.if结构 //if结构,语法: //第一种: if(表达式){ //语句块 } //第二种: if(表达 ...
- MySQL root密码忘记后更优雅的解决方法
MySQL root密码忘记后更优雅的解决方法 https://www.jb51.net/article/143453.htm /usr/bin/mysqld_safe --defaults-file ...
- 11.13的C++##不想写结构,更不爱指针
//2019.11.13 卑微的Loving-Q瞎写的程序 报错请更改VS中的SDL检查// 我要去嗨了,在线卑微 1 #include<iostream> #include<std ...
- switch结构
switch结构介绍 switch也属于条件判断的语句 支持多种写法,和if .. else if ...else 结构的功能类似,但是里面的细节需要注意的地方更多 switch基本语法 switch ...
- 037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构
037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构 本文知识点:Java中的switch结构 选择结构分类 选择结构只有如下2种 ...
- Java初学者作业——使用switch结构实现一个简单的购物计划
返回本章节 返回作业目录 需求说明: 使用switch结构实现一个购物计划,计划为:星期一.星期三.星期五购买伊利牛奶和面包,星期二.星期四购买苹果和香蕉,星期六.星期日购买啤酒和周黑鸭. 实现思路: ...
随机推荐
- PHP之mb_strrpos使用
mb_strrpos (PHP 4 >= 4.0.6, PHP 5, PHP 7) mb_strrpos - Find position of last occurrence of a stri ...
- iview中使用Tag时进行数据的变化和实现将输入内容转化为标签输出数组
上代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title ...
- HDU 1102 Constructing Roads(kruskal)
Constructing Roads There are N villages, which are numbered from 1 to N, and you should build some r ...
- 747_Largest-Number-At-Least-Twice-of-Others
目录 747_Largest-Number-At-Least-Twice-of-Others Description Solution Java solution Python solution 74 ...
- Thread中断线程的方法
转载:https://www.cnblogs.com/l2rf/p/5566895.html 线程对象属于一次性消耗品,一般线程执行完run方法之后,线程就正常结束了,线程结束之后就报废了,不能再次s ...
- ant使用小结
使用builder.xml的方式:完成的工作:打jar包并运行,其中引用了第三方jar和配置文件: <?xml version="1.0" encoding="UT ...
- 让图片在div中居中
详情看:https://www.cnblogs.com/yyh1/p/5999152.html
- golang学习之defer
golang中的defer通常用于执行一些资源释放性操作,比如open/close.connect/disconnect.lock/unlock等,对defer理解主要记住以下三点: 1.defer ...
- web.xml文件初始化过程
在使用各种框架后,有时会发现不了了错误处在哪里,了解Servlet的初始化过程(也可以说是web.xml的初始化吧),也许对你对于框架的理解与报错的原因理解会有帮助 context-param > ...
- [PHP] 试题系统研究
考试科目: 添加考试科目,填写科目名称,选择科目题型(复选框/单选题,多选题,判断题,问答题,填空题) 添加科目章节,填写章节名称,添加章节知识点,填写知识点以英文逗号分隔,直接插入多条记录 开通考场 ...