在项目中,我们会经常会用到if_else结构,在简单条件下,三目运算符能完成同样的功能。

但是这两个语句哪个更好,哪个效率更高呢?下面我们就一起来看一下:

简单的用java写一个for循环:

下面这个是三目运算符:


使用javap 命令将两个字节码文件反汇编成汇编语言,分别如下:

可以看到,三目运算符的指令比if_else的指令少一个由此看来,应该是三目运算符的执行效率更高一些。

但是理论和实际是有一些差距的。还是有必要亲自测试一下。

同样是100 000次循环,使用StopWatch计算的时间竟然相差不多。这是为什么呢?

这是因为在java的虚拟机中,两种语句的指令都经过了优化,所以效果是一样的。

但是在实际应用中,还是推荐使用三目运算符,因为它看起来比较简洁而且易读性较强。

if_else与三目运算符的效率问题相关推荐

  1. 基于灰度世界、完美反射、动态阈值等图像自动白平衡算法的原理、实现及效果...

    原文:http://www.cnblogs.com/Imageshop/archive/2013/04/20/3032062.html 白平衡是电视摄像领域一个非常重要的概念,通过它可以解决色彩还原和 ...

  2. RGB和YCbCr颜色空间的转换及优化算法

    RGB和YCbCr颜色空间转换和优化 转载于颜色空间系列3: RGB和YCbCr颜色空间的转换及优化算法 在常用的几种颜色空间中,YCbCr颜色空间在学术论文中出现的频率是相当高的,常用于肤色检测等等 ...

  3. 【JS】982- 11个JavaScript代码重构最佳实践

    模式和重构之间有着一种与生俱来的关系.从某种角度来看,设计模式的目的就是为许多重构行为提供目标. 1.提炼函数 在JavaScript开发中,我们大部分时间都在与函数打交道,所以我们希望这些函数有着良 ...

  4. 11个JavaScript代码重构最佳实践

    点击上方关注 前端技术江湖,一起学习,天天进步 模式和重构之间有着一种与生俱来的关系.从某种角度来看,设计模式的目的就是为许多重构行为提供目标. 1.提炼函数 在JavaScript开发中,我们大部分 ...

  5. 颜色空间BGR转YCbCr

    颜色空间BGR转YCbCr   颜色空间系列代码下载链接:http://files.cnblogs.com/Imageshop/ImageInfo.rar (同文章同步更新) 在常用的几种颜色空间中, ...

  6. java通过+拼接字符串导致的无效SQL,三目运算符与+运算符结合使用时需要注意了

    调试代码的过程中遇到一个比较尴尬的问题,java代码中先进行sql拼接,然后再执行拼接后的sql,即一个又臭又长的字符串.设计到sql拼接的情况,我个人比较喜欢用StringBuilder拼接,毕竟使 ...

  7. 逆向知识第七讲,三目运算符在汇编中的表现形式,以及编译器优化方式

    一丶编译器优化方式 首先说一下编译器优化方式. 1.常量折叠 2.常量传播 3.复写传播 4.公共表达式 5.去掉不可达到分支 6.顺序代替分支 7.数学变化 8.代码外提 9.减少变量. 10 强度 ...

  8. java运算符(算数运算符、三目运算符、位运算符)

    java运算符 1 运算符:算术运算符 %:求余运算符. /:除法运算符. ++自增运算符 三目运算符 (条件表达式)?表达式1:表达式2: 练习题 位运算符 2 程序流程控制 2.1 if-else ...

  9. 编写可读代码,提高工作效率

    本次分享是怎么做到"可读性"的 首先,正在进行的,说明下本文的可读性. 1.背景 根据今年形势996icu,加班加点的情况比较多.与其抱怨,不如改变. 从内因去改变:主题,编写可读 ...

最新文章

  1. 【C++】复制构造函数
  2. 面向B端市场,Mana VR团队将推出VR交互产品
  3. mysql delete exists用法_自学MySQL第五天
  4. BZOJ 3993 Luogu P3324 [SDOI2015]星际战争 (最大流、二分答案)
  5. 编译安装php apache,CentOS编译安装Apache2.4+PHP5.6
  6. 6.22软件工程总结
  7. 高等数理统计(part2)--常见的离散型分布
  8. Charles基本使用
  9. linux文本文件和win文本文件的格式互换
  10. jQuery的ajaxFileUpload上传文件插件刷新一次才能再次调用触发change
  11. 前台js获取url传递参数(后台Request.QueryString接收)
  12. 关于char, wchar_t, TCHAR, _T(),L,宏 _T、TEXT,_TEXT、L
  13. idirect3ddevice9虚函数偏移_C++ 虚函数简介
  14. 华为海思芯片 10 年备胎史!
  15. matlab simulink汽车巡航时的速度模糊pid控制
  16. 9.1 Servlet容器实例
  17. python根据题库答案自动答题_Selenium实现百度自动答题 懒人获取积分
  18. 基因组数据分析在生物医学领域的应用
  19. NetFPGA-1G-CML从零开始环境配置
  20. 海思入门笔记二:HiBurn工具实现镜像烧写

热门文章

  1. 自动化控制行业常见面试问题分析
  2. 数据权限设计:从RBAC到ABAC的演变
  3. 邂逅Flutter开发
  4. DPDK 入门最佳指南
  5. 深度学习 如何查看 GPU使用情况
  6. 【每周CV论文推荐】StyleGAN人脸属性编辑有哪些经典论文需要阅读
  7. mysql中有几种模糊查询?
  8. 网贷7000元要还36万:年轻人,请你赶紧扔掉这四样东西
  9. WVGA,QVGA,VGA,HVGA区别
  10. 联合会杯-内马尔破门锋霸2球 巴西3-0西班牙3连冠