-
_潇潇暮雨
凡是简单的必有限制。一个判断还好,多个判断就不太好写了
-
K_Biao
If-else比三目运算?: 更快一点。编译器处理这两者的时候是不一样的。看汇编代码会看出区别。三目运算是先运算,再赋值! 例如 : temp = a > b ? a : b ; a > b ? a : b 是运算, temp = (a > b ? a : b )是赋值。 而 if 语句是直接赋值 ,不存在运算,所以快了一点。当然有些编译器也会做一定的优化,使得这两者区别没那么大。
-
Realank刘
对于简单判断,程序员总是喜欢省事点写,比如 i = i + 1写成 i += 1 或者 ++i 。当简单判断来赋值的操作,三目运算符一行可以完成,后者需要五六行甚至更多。但是当我们的判断逻辑复杂一些,或者判断以后,不仅仅用来赋值的时候,if-else的作用是三目运算符完全不可以替代的。其实三目运算符是可有可无的,但是if-else是必备。我觉得讨论一下while和for循环是否可以去掉一个,倒是比这个问题更有可争论的地方
-
李昕耀
三目运算虽然简洁,但是略比if-else难读,if-else更加清晰