关于if与switch的使用与区别
这是if语句:
if (条件表达式1){  //条件判断
    //n多语句1
}else if(条件表达式2){
    //n多语句2
}else if(条件表达式3){
    //n多语句3
}
...
...
else{
    //n多语句n
}
执行流程:条件表达式1为true则输出n多语句1,否则判断条件表达式2,如此循环,若n-1个判断中都为false,则输出else内的n多语句n
可见if用于条件判断,具有范围性,可用于对输入数据进行限制
这是switch语句:
switch (表达式){   //表达式通常为变量,对case的语句进行匹配
    case 情况1: //这里为冒号不是分号
        n多语句;
        break;  //跳出switch语句
    case 情况2:
        n多语句;
        break;
        ...
        ...
    default:
        n多语句;
}
工作原理:
- 对表达式(通常是变量)进行一次计算
 - 把表达式的值与结构中 case 的情况n进行比较
 - 如果存在匹配,则执行与 case 关联的代码
 - 代码执行后,break 语句阻止代码跳入下一个 case 中继续执行
 - 如果没有 case 为真,则使用 default 语句
 
switch倾向对某预定数值的匹配,例如某网页中点某连接跳转到某地址,没有进行条件判断
且switch不支持float型,布尔型。
关于if与switch的使用与区别的更多相关文章
- Hub, bridge, switch, router, gateway的区别
		
这些概念性的东西,其实,有的区别不是很大,有的区别很大. Hub 就是一个重复转发器,就是从一个port接受到数据后,就会原样的向其他的所有端口发送刚才收到的数据.个人理解为是工作在物理层的东西.但是 ...
 - if语句,if...else if语句和switch...case语句的区别和分析
		
前段时间在工作中遇到了一个关于条件判断语句的问题,在if语句,if else if语句和switch case语句这三者之间分析,使用其中最有效率的一种方法. 所以就将这个问题作为自己第一篇博客的主要 ...
 - Hub,bridge,switch and router的区别
		
首先说HUB,也就是集线器.它的作用可以简单的理解为将一些机器连接起来组成一个局域网.而交换机(又名交换式集线器)作用与集线器大体相同.但是两者在性能上有区别:集线器采用的式共享带宽的工作方式,而交换 ...
 - c语言学习笔记 多级else if 和switch case有什么区别
		
; ) { dosth(); } ) { dosth2(); } else if(opion==) { dosth3(); } else dosth4(); 如果给option的一个值是2的话,那么程 ...
 - 循环内的switch中break和continue使用区别
		
首先看下break和continue的使用方法. break语句在循环和switch语句中使用,用于终止最近的封闭代码块,如果在嵌套循环中,则只终止最近的循环. continue语句在循环中使用,不能 ...
 - C++基础--if/else和switch/case的区别
		
if和switch的区别: 一.语句的格式: if/else的写法格式如下: int nA, nB; scanf_s("%d", &nA); //输入整数并赋值给变量a s ...
 - 转!论if else与switch的效率高低问题
		
转 下面来详细描述switch与ifelse的区别. switch...case与if...else的根本区别在于,switch...case会生成一个跳转表来指示实际的case分支的地址,而这个跳转 ...
 - 状态开关按钮(ToggleButton)与开关(Switch)的功能与用法
		
状态开关按钮(ToggleButton)与开关(Switch)也是由Button派生出来的,因此它们的本质也是按钮,Button支持的各种属性.方法也适用于ToggleButton和Switch.从功 ...
 - IF与SWITCH
		
今晚刚刚看了一点儿<大话设计模式>这本书,看到它示例的第一个程序,好像有点理解IF与SWITCH的区别了.大致的思考了总结出来. IF适用于每个条件都必须判断,就是IF语句中的判断是不同类 ...
 
随机推荐
- firewall 如何开放端口
			
转自官方网页:http://www.firewalld.org/documentation/howto/open-a-port-or-service.html How to open port 80/ ...
 - 执行系统命令,subprocess使用说明
			
os.system('ls -l') #只执行命令,不能将结果赋予变量 os.system('mkdir test') #创建test目录 files = os.popen('ls -l').rea ...
 - Exchange Server 2016 安卓手机打不开超过10M的附件问题处理
			
华为手机配置Exchange Server 2016 时,打不开超过10M的附件,如PPT或者是DOC之类的附件,而iphone手机确可以,因为iphone手机使用了IMAP协议,安卓手机如果使用I ...
 - 浏览器跨域访问WebApi
			
webapi地址:wapapi.ebcbuy.com web地址:wapweb.ebcbuy.com 在默认情况下这两个域名属于两个不同的域,他们之间的交互存在跨域的问题,但因为他们都同属于一 ...
 - TCP/IP 协议图
 - scala当中的文件操作和网络请求
			
1.读取文件当中每一行的数据 def main(args: Array[String]): Unit = { //注意文件的编码格式,如果编码格式不对,那么读取报错 val file: Buffere ...
 - 两天学会css基础(二)
			
接上一篇博客,还有css中的两个重要知识点没有说到,就是元素的浮动与定位. 第三部分:元素的浮动与清除 这部分的内容之前的博客已总结过.请查看css中的浮动与三种清除浮动的方法这篇文章. 浮动在网页中 ...
 - ascll方便查询
 - Fedora Server 上配置 MariaDb 集群
			
下载与安装 MariaDB Galera Cluster 10.1之前的版本安装,输入以下命令进行安装: sudo dnf install mariadb-galera-server 如果电脑上还没安 ...
 - GIT和GitHub的使用总结
			
目录 一.GIT初始化设置: 创建密钥 添加远程仓库 用户名邮箱配置 Clone远程仓库 创建本地仓库 代理设置 自定义操作 二.GIT基本操作 添加到暂存区区 提交 删除 版本回退 撤销修改 三.G ...