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结构实现一个购物计划,计划为:星期一.星期三.星期五购买伊利牛奶和面包,星期二.星期四购买苹果和香蕉,星期六.星期日购买啤酒和周黑鸭. 实现思路: ...
随机推荐
- 删除eclipse无效的工作空间路径
eclipse会记录我们使用过的工作空间的路径,方便下面使用.也可以根据自己的需要删除无用的工作空间路径.
- 关于Java 下 Snappy压缩存文件
坑点: 压缩后的byte 数组中会有元素是负数,如果转化成String 存入文件,然后再读取解压缩还原,无法得到原来的结果,甚至是无法解压缩. 原因分析: String 底层是由char 数组构成的, ...
- 深度学习(五)正则化之L1和L2
监督机器学习问题无非就是“minimizeyour error while regularizing your parameters”,也就是在规则化参数的同时最小化误差.最小化误差是为了让我们的模型 ...
- Ibatis框架之系统架构
如果用最简洁的话来总结 iBATIS 主要完成那些功能时,我想下面几个代码足够概括. Class.forName("oracle.jdbc.driver.OracleDriver" ...
- STIL文件(DFT/IC测试方向)
相信很多工程师,特别是刚入行或准备入行的兄弟们或多或少听过测试相关的东西.如果你想做DFT工程师的,测试工程师的,而对于设计/验证工程师们如果能了解下STIL文件的原理,在和DFT/测试工程师聊技术聊 ...
- rvm的安装, 使用rvm, 安装ruby, 以及gem的使用 (转)
http://blog.163.com/digoal@126/blog/static/1638770402012425111617904/ rvm 全称Ruby Version Manager, 确 ...
- JDBC连接Greenplum数据库,封装了增删改查
要启动好gp服务,再尝试连接 192.168.94.135是主节点(master)的ip 驱动Jar包在官网获取 嫌麻烦,可以直接用我在网盘分享的Jar包,版本较老 链接:https://pan.ba ...
- [PY3]——合并多个字典或映射(collections模块中的ChainMap 类)
问题 现在有多个字典或者映射,你想将它们从逻辑上合并为一个单一的映射后执行某些操作, 比如查找值或者检查某些键是否存在. 解决方案 使用 collections 模块中的 ChainMap 类 Cha ...
- 阿里云 ECS服务器安装流程
1. 挂载硬盘 2. 上传文件 3 .vncserver unset DISPLAY who -u export DISPLAY= xhost + 4. java /etc/profile expor ...
- Angular2-三种样式封装策略的区别
Angular2有三种样式封装方式,分别是None.Native.Emulated. 可用元数据“encapsulation”配置,配置方式如下: encapsulation: ViewEncapsu ...