switch一定比if else好用吗
今天突然想用switch代替if else,于是对比了一下两者区别
首先,switch效率不一定比if else高,要依照情况而定
- 1 当条件数量数量不大于3的时候,或者各个条件差距比较大的时候,比如(100、200、300),编译器会将编译器会把switch编译为if else 一样的实现。如果判断条件多且连续,编译器会在内存生成一个表来存放switch的各个对应条件和结果
- 2 但是switch要求是常量,而且不能进行判断。
所以,
当你的条件较少或相差较大或者需要判断时,我建议还是使用if else。
当你的条件多且连续,且为常量,建议用switch
你觉得呢?
switch一定比if else好用吗相关推荐
- switch if c语言效率,switch与ifelse的效率问题
switch...case与if...else的根本区别在于,switch...case会生成一个跳转表来指示实际的case分支的地址,而这个跳转表的索引号与switch变量的值是相等的.从而,swi ...
- Go 学习笔记(62)— Go 中 switch 语句中的 switch 表达式和 case 表达式之间的关系
switch 语句对 switch 表达式的结果类型,以及各个 case 表达式中子表达式的结果类型都是有要求的. 毕竟,在 Go 语言中,只有类型相同的值之间才有可能被允许进行判等操作. 1. sw ...
- Java基础Switch和循环控制
1. switch语句 1.1 分支语句switch语句 格式 switch (表达式) {case 1:语句体1;break;case 2:语句体2;break;...default:语句体n+1; ...
- Android switchCompat. 和 Switch
今天礼拜日,回顾知识点 看到了switchCompat 这里记录下它的简单使用 switchCompat 使用需要导入v7包,一般这个创建项目的时候默认的都用,也就不用关心了 使用呢也很简单 布局 ...
- Kotlin 中 switch 写法
在Kotlin 中并没有switch 操作符 , 取而代之的是when java的写法: int i= 5;switch (i){case 5:System.out.print("5&quo ...
- switch case
1 var v = 2;2 switch (true) {3 case 0:4 alert("值为零");5 break;6 case v > 0 && v ...
- C++ 笔记(12)— 判断(if/if...else/switch、条件运算符)
1. if 语句 C++ 中 if 语句的语法: if (boolean_expression) {// 如果布尔表达式为真将执行的语句 } 如果布尔表达式为 true ,则 if 语句内的代码块将被 ...
- Go 学习笔记(8)— 条件语句(if、if...else...、switch、fallthrough)
Go 语言提供了以下几种条件判断语句: 语句 描述 if 语句 if 语句 由一个布尔表达式后紧跟一个或多个语句组成 if-else 语句 if 语句 后可以使用可选的 else 语句, else 语 ...
- 编写函数求两个整数 a 和 b 之间的较大值。要求不能使用if, while, switch, for, ?: 以 及任何的比较语句。...
本题要求不能使用if, while, switch, for, ?: 以 及任何的比较语句,也就是要求我们不能用常规的方法来判断两个数的大小. 那么按照以往的方法,要判断两个数的大小,应该要将两个数进 ...
最新文章
- 入门代码教程第二节 如何:实现服务协定
- USTC English Club Note20171023
- Java 定时任务调度(8)--ElasticJob 入门实战(ElasticJob-Lite使用)
- java 调用祖父方法_在Java中调用祖父母方法:您不能
- nginx 优化(突破十万并发)
- python网格搜索法_Python中基于网格搜索算法优化的深度学习模型分析糖尿病数据...
- html foreach 行 间隔,颜色,javascript简单实现表格行间隔显示颜色并高亮显示
- 【智慧医疗】什么是电子健康记录(EHR)?
- 程序员未来职业规划分析
- JQuery Ajax使用FormData对象上传文件 图片
- c语言等级分制度的作用,使用C语言怎么对学生的成绩等级进行划分
- error: failed to push some refs to如何解决
- Matlab 填补缺失数据
- nodejs学习笔记--Unexpected end of JSON input while parsing near ‘...“解决方法
- VHDL设计一个同步清零的JK触发器
- 专注:让你不再分心 pdf_JS对象:分心
- Maven引入依赖后自动下载并关联源码 Source
- K2P K2 OpenWrt 搭配光猫单臂路由上网
- Python 编写 掘金3量化交易软件的常见指标实现。均线,macd,kdj,RSI,LWR。
- 基于Python新生报到系统设计与实现 开题报告