三目运算符与if else的运行效率

两者的效率比较:

当比较次数较少时,效率一样;

当比较次数较多时,发现ifelse的速度更快,应该是其汇编指令更少的原因。

if else的汇编代码如下:

三目运算符代码如下:

时间: 2024-10-01 07:10:53

三目运算符与if else的运行效率的相关文章

C语言------三目运算符(条件运算符)

今天在看C语言的时候看到了下面的代码(废话少说,直接上代码): #include <stdio.h> int main() {int max(); extern int A,B,C; //把外部变量A,B,C的作用域扩展到从此处开始 printf("Please enter three integer numbers:"); scanf("%d,%d,%d",&A,&B,&C); //输入3个整数给A,B,C printf(&qu

java 和 c++ 的三目运算符的区别

以前很少用java,就知道java和c++差不多. 今天就踩了一个坑. 不吐糟,直接进正文. 看这种写法,把较小的数加1. int a = 5, b = 6; b > a ? (a = 1) : b++; 众所周知,c++这样写是没问题的. 但是java就不行! $ javac Solution.java Solution.java:14: error: not a statement b > a ? a++ : b++; ^ 1 error 上网查了资料才知道, java的表达式规定只有以下

js中三目运算符和&amp;&amp; || 符的个人浅见

这两天看到别人写的代码,感觉很牛逼,如下,大神请忽视 $(".lgn").on("click", function() { var a = {}; a.loginType = $(this).data("logintype"); a.loginType == wx_utils.LOGIN_TYPE.WX ? (a.username = $("#username").val(), a.password = $("#pa

JavaSE7基础 用if-else解释三目运算符

jdk版本  :jdk-7u72-windows-i586系统     :Windows7编辑器   :Notepad++ v7.4.2注意事项 :博文内容仅供参考,不可用于其他用途. 代码 class Demo{ public static void main(String[] args){ int result=0; int num1=1; int num2=2; result= num1>num2?2:3; System.out.println(result); //if-else 替换

JavaSE7基础 论 在嵌套使用三目运算符时,小括号 与 代码格式 的重要意义

jdk版本  :jdk-7u72-windows-i586系统     :Windows7编辑器   :Notepad++ v7.4.2注意事项 :博文内容仅供参考,不可用于其他用途. 1代码 class Demo{ public static void main(String[] args){ int max=0; int num1=1; int num2=2; int num3=3; max=(num1 > num2) ?((num1>num3)? num1 : num3) :((num2

java注释 命名 数据类型 基本类型转换 位运算符 逻辑运算符 三目运算符

一.java注释 1.单行注释  //注释内容 2.多行注释 /*注释内容*/ 3.文档注释(可用javadoc工具生成api文档,不过我还没试过)/**文档注释*/,文档注释可以在使用的时候看见注释. 文档注释常用的标记 @auther作者 @version版本 @deprecated 不推荐使用 @param 本放的参数 @return 返回值 @throws异常,同@exception 二.java的命名 1.项目名 字母全部小写 2.包名 全部小写 3.类名 首字母大写加驼峰 4.方法名

利用foreach对页面控件的遍历 及三目运算符的使用

1.利用foreach对页面控件的遍历 及三目运算符的使用 利用div将一组CheckBox放在一起用于遍历 <body> <form id="form1" runat="server"> <div> <asp:CheckBox ID="cb_1" runat="server" AutoPostBack="true" Text="我是自动的" o

三目运算符不易发现的错误

System.Threading.Thread t=null; string message = "I'm cookie and " + t == null ? "You're nicky" : ""; 请问最后message是啥?看仔细奥! 给出一个运算符优先级表吧. 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右   () 圆括号 (表达式)/函数名(形参表)   . 成员选择(对象)

Java自动装/拆箱下,三目运算符的潜规则

最近发现了一个很诡异的NullPointerException,在下面这个方法抛出,一开始怎么都没想明白,dSrc即使为null,那直接赋值给distinct也没问题啊. private Doubledistinct; private void setParam(Double dSrc, boolean flag) { this.distinct = (flag) ? dSrc : 0d; } 最后才发现是Java自动拆箱的潜规则,下面我们来看看其所以然. 自动装箱/拆箱 在JDK1.5引入自动