感觉前者不是更简洁吗?
5 回答
K_Biao
TA贡献44条经验 获得超24个赞
If-else比三目运算?: 更快一点。
编译器处理这两者的时候是不一样的。看汇编代码会看出区别。
三目运算是先运算,再赋值!
例如 :
temp = a > b ? a : b ;
a > b ? a : b 是运算, temp = (a > b ? a : b )是赋值。
而 if 语句是直接赋值 ,不存在运算,所以快了一点。
当然有些编译器也会做一定的优化,使得这两者区别没那么大。
Realank刘
TA贡献7条经验 获得超36个赞
对于简单判断,程序员总是喜欢省事点写,比如 i = i + 1写成 i += 1 或者 ++i 。当简单判断来赋值的操作,三目运算符一行可以完成,后者需要五六行甚至更多。但是当我们的判断逻辑复杂一些,或者判断以后,不仅仅用来赋值的时候,if-else的作用是三目运算符完全不可以替代的。其实三目运算符是可有可无的,但是if-else是必备。
我觉得讨论一下while和for循环是否可以去掉一个,倒是比这个问题更有可争论的地方
- 5 回答
- 0 关注
- 2624 浏览
添加回答
举报
0/150
提交
取消