if_else与三目运算符的效率问题
在项目中,我们会经常会用到if_else结构,在简单条件下,三目运算符能完成同样的功能。
但是这两个语句哪个更好,哪个效率更高呢?下面我们就一起来看一下:
简单的用java写一个for循环:
下面这个是三目运算符:
使用javap 命令将两个字节码文件反汇编成汇编语言,分别如下:
可以看到,三目运算符的指令比if_else的指令少一个由此看来,应该是三目运算符的执行效率更高一些。
但是理论和实际是有一些差距的。还是有必要亲自测试一下。
同样是100 000次循环,使用StopWatch计算的时间竟然相差不多。这是为什么呢?
这是因为在java的虚拟机中,两种语句的指令都经过了优化,所以效果是一样的。
但是在实际应用中,还是推荐使用三目运算符,因为它看起来比较简洁而且易读性较强。
if_else与三目运算符的效率问题相关推荐
- 基于灰度世界、完美反射、动态阈值等图像自动白平衡算法的原理、实现及效果...
原文:http://www.cnblogs.com/Imageshop/archive/2013/04/20/3032062.html 白平衡是电视摄像领域一个非常重要的概念,通过它可以解决色彩还原和 ...
- RGB和YCbCr颜色空间的转换及优化算法
RGB和YCbCr颜色空间转换和优化 转载于颜色空间系列3: RGB和YCbCr颜色空间的转换及优化算法 在常用的几种颜色空间中,YCbCr颜色空间在学术论文中出现的频率是相当高的,常用于肤色检测等等 ...
- 【JS】982- 11个JavaScript代码重构最佳实践
模式和重构之间有着一种与生俱来的关系.从某种角度来看,设计模式的目的就是为许多重构行为提供目标. 1.提炼函数 在JavaScript开发中,我们大部分时间都在与函数打交道,所以我们希望这些函数有着良 ...
- 11个JavaScript代码重构最佳实践
点击上方关注 前端技术江湖,一起学习,天天进步 模式和重构之间有着一种与生俱来的关系.从某种角度来看,设计模式的目的就是为许多重构行为提供目标. 1.提炼函数 在JavaScript开发中,我们大部分 ...
- 颜色空间BGR转YCbCr
颜色空间BGR转YCbCr 颜色空间系列代码下载链接:http://files.cnblogs.com/Imageshop/ImageInfo.rar (同文章同步更新) 在常用的几种颜色空间中, ...
- java通过+拼接字符串导致的无效SQL,三目运算符与+运算符结合使用时需要注意了
调试代码的过程中遇到一个比较尴尬的问题,java代码中先进行sql拼接,然后再执行拼接后的sql,即一个又臭又长的字符串.设计到sql拼接的情况,我个人比较喜欢用StringBuilder拼接,毕竟使 ...
- 逆向知识第七讲,三目运算符在汇编中的表现形式,以及编译器优化方式
一丶编译器优化方式 首先说一下编译器优化方式. 1.常量折叠 2.常量传播 3.复写传播 4.公共表达式 5.去掉不可达到分支 6.顺序代替分支 7.数学变化 8.代码外提 9.减少变量. 10 强度 ...
- java运算符(算数运算符、三目运算符、位运算符)
java运算符 1 运算符:算术运算符 %:求余运算符. /:除法运算符. ++自增运算符 三目运算符 (条件表达式)?表达式1:表达式2: 练习题 位运算符 2 程序流程控制 2.1 if-else ...
- 编写可读代码,提高工作效率
本次分享是怎么做到"可读性"的 首先,正在进行的,说明下本文的可读性. 1.背景 根据今年形势996icu,加班加点的情况比较多.与其抱怨,不如改变. 从内因去改变:主题,编写可读 ...
最新文章
- 【C++】复制构造函数
- 面向B端市场,Mana VR团队将推出VR交互产品
- mysql delete exists用法_自学MySQL第五天
- BZOJ 3993 Luogu P3324 [SDOI2015]星际战争 (最大流、二分答案)
- 编译安装php apache,CentOS编译安装Apache2.4+PHP5.6
- 6.22软件工程总结
- 高等数理统计(part2)--常见的离散型分布
- Charles基本使用
- linux文本文件和win文本文件的格式互换
- jQuery的ajaxFileUpload上传文件插件刷新一次才能再次调用触发change
- 前台js获取url传递参数(后台Request.QueryString接收)
- 关于char, wchar_t, TCHAR, _T(),L,宏 _T、TEXT,_TEXT、L
- idirect3ddevice9虚函数偏移_C++ 虚函数简介
- 华为海思芯片 10 年备胎史!
- matlab simulink汽车巡航时的速度模糊pid控制
- 9.1 Servlet容器实例
- python根据题库答案自动答题_Selenium实现百度自动答题 懒人获取积分
- 基因组数据分析在生物医学领域的应用
- NetFPGA-1G-CML从零开始环境配置
- 海思入门笔记二:HiBurn工具实现镜像烧写