今天突然想用switch代替if else,于是对比了一下两者区别

首先,switch效率不一定比if else高,要依照情况而定

  • 1 当条件数量数量不大于3的时候,或者各个条件差距比较大的时候,比如(100、200、300),编译器会将编译器会把switch编译为if else 一样的实现。如果判断条件多且连续,编译器会在内存生成一个表来存放switch的各个对应条件和结果
  • 2 但是switch要求是常量,而且不能进行判断。

所以,
    当你的条件较少或相差较大或者需要判断时,我建议还是使用if else。
    当你的条件多且连续,且为常量,建议用switch
你觉得呢?

switch一定比if else好用吗相关推荐

  1. switch if c语言效率,switch与ifelse的效率问题

    switch...case与if...else的根本区别在于,switch...case会生成一个跳转表来指示实际的case分支的地址,而这个跳转表的索引号与switch变量的值是相等的.从而,swi ...

  2. Go 学习笔记(62)— Go 中 switch 语句中的 switch 表达式和 case 表达式之间的关系

    switch 语句对 switch 表达式的结果类型,以及各个 case 表达式中子表达式的结果类型都是有要求的. 毕竟,在 Go 语言中,只有类型相同的值之间才有可能被允许进行判等操作. 1. sw ...

  3. Java基础Switch和循环控制

    1. switch语句 1.1 分支语句switch语句 格式 switch (表达式) {case 1:语句体1;break;case 2:语句体2;break;...default:语句体n+1; ...

  4. Android switchCompat. 和 Switch

    今天礼拜日,回顾知识点 看到了switchCompat 这里记录下它的简单使用 switchCompat  使用需要导入v7包,一般这个创建项目的时候默认的都用,也就不用关心了 使用呢也很简单 布局 ...

  5. Kotlin 中 switch 写法

    在Kotlin 中并没有switch 操作符 , 取而代之的是when java的写法: int i= 5;switch (i){case 5:System.out.print("5&quo ...

  6. switch case

    1 var v = 2;2 switch (true) {3 case 0:4 alert("值为零");5 break;6 case v > 0 && v ...

  7. C++ 笔记(12)— 判断(if/if...else/switch、条件运算符)

    1. if 语句 C++ 中 if 语句的语法: if (boolean_expression) {// 如果布尔表达式为真将执行的语句 } 如果布尔表达式为 true ,则 if 语句内的代码块将被 ...

  8. Go 学习笔记(8)— 条件语句(if、if...else...、switch、fallthrough)

    Go 语言提供了以下几种条件判断语句: 语句 描述 if 语句 if 语句 由一个布尔表达式后紧跟一个或多个语句组成 if-else 语句 if 语句 后可以使用可选的 else 语句, else 语 ...

  9. 编写函数求两个整数 a 和 b 之间的较大值。要求不能使用if, while, switch, for, ?: 以 及任何的比较语句。...

    本题要求不能使用if, while, switch, for, ?: 以 及任何的比较语句,也就是要求我们不能用常规的方法来判断两个数的大小. 那么按照以往的方法,要判断两个数的大小,应该要将两个数进 ...

最新文章

  1. 入门代码教程第二节 如何:实现服务协定
  2. USTC English Club Note20171023
  3. Java 定时任务调度(8)--ElasticJob 入门实战(ElasticJob-Lite使用)
  4. java 调用祖父方法_在Java中调用祖父母方法:您不能
  5. nginx 优化(突破十万并发)
  6. python网格搜索法_Python中基于网格搜索算法优化的深度学习模型分析糖尿病数据...
  7. html foreach 行 间隔,颜色,javascript简单实现表格行间隔显示颜色并高亮显示
  8. 【智慧医疗】什么是电子健康记录(EHR)?
  9. 程序员未来职业规划分析
  10. JQuery Ajax使用FormData对象上传文件 图片
  11. c语言等级分制度的作用,使用C语言怎么对学生的成绩等级进行划分
  12. error: failed to push some refs to如何解决
  13. Matlab 填补缺失数据
  14. nodejs学习笔记--Unexpected end of JSON input while parsing near ‘...“解决方法
  15. VHDL设计一个同步清零的JK触发器
  16. 专注:让你不再分心 pdf_JS对象:分心
  17. Maven引入依赖后自动下载并关联源码 Source
  18. K2P K2 OpenWrt 搭配光猫单臂路由上网
  19. Python 编写 掘金3量化交易软件的常见指标实现。均线,macd,kdj,RSI,LWR。
  20. 基于Python新生报到系统设计与实现 开题报告

热门文章

  1. 还可以这样玩?揭秘打通线上线下新思路
  2. 视频怎么插入慢动作?
  3. c+ socket编程
  4. 层次分析法模型及代码
  5. 【微信小程序】组件间通信与事件-获取子组件的实例对象
  6. SQL Server Always On可用性组中的Windows故障转移群集仲裁模式
  7. sql oltp_SQL Server中的内存中OLTP的快速概述
  8. linux下串口多线程通信 ,多串口收发数据错乱问题解决办法
  9. 软件工程——成品展示
  10. codeforces 653D D. Delivery Bears(二分+网络流)