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结构实现一个购物计划,计划为:星期一.星期三.星期五购买伊利牛奶和面包,星期二.星期四购买苹果和香蕉,星期六.星期日购买啤酒和周黑鸭. 实现思路: ...
随机推荐
- Java中的异常Exception
涉及到异常类相关的文章: (1)异常类不能是泛型的 http://www.cnblogs.com/extjs4/p/8888085.html (2)Finally block may not comp ...
- Flex4 outerDocument
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- i.mx6 Android5.1.1 系统属性
属性变更的请求时init事件循环处理的另一个事件,在Android平台中,为了让运行中的所有进程共享系统运行时所需要的各种设置值,系统开辟了属性存储区域,并提供了访问该区域的API.属性由键(key) ...
- 关于Hall定理的学习
基本定义 \(Hall\) 定理是二分图匹配的相关定理 用于判断二分图是否存在完美匹配 存在完美匹配的二分图即满足最大匹配数为 \(min(|X|,|Y|)\) 的二分图,也就是至少有一边的点全部被匹 ...
- SQL Server使用ROW_NUMBER进行快速分页查询
DECLARE @pageSize INTDECLARE @pageIndex INT --第4页,每页显示10条数据SET @pageSize = 10SET @pageIndex = 4 SELE ...
- SQL 之连接查询
概述:INNER JOIN.LEFT JOIN.LIGHT JOIN.FULL JOIN. 一.INNER JOIN INNER JOIN 关键字在表中存在至少一个匹配时返回行. 语法: select ...
- [C语言] 数据结构-衡量算法的标准
1.衡量算法的标准 算法 解题的方法和步骤 衡量算法的标准 1.时间复杂度 大概程序要执行的次数,而非执行的时间,不同的机器运行时间肯定不一样. 2.空间复杂度 算法执行过程中大概所占用的最大内存 3 ...
- webpack-bundle.js原理
bundle.js 源码 //a.js import { log } from './b.js' log('hello') //b.js export const log = function (m) ...
- DOM基础代码练习(一)
上一篇介绍了一下DOM的一些基础的知识,这里我整理了一些有关上一篇知识点的一些封装函数. 1.遍历元素节点 function retChild(node) { var child = node.chi ...
- 闲谈:乌云上那些 web-based 的 QQ 漏洞
0×00 起始 昨日凌晨,看到爱尖刀团队发布了一条“腾讯客户端XSS,已第一时间提交至TSRC”的微博,心想,腾讯又出此类漏洞了.今日,由于有一位名叫“阿布”的同学将该漏洞发布到了乌云,引来不少争吵甚 ...