三目运算和if-else区别在哪里呢?

感觉前者不是更简洁吗?

meowZ
浏览 2625回答 5
5回答

_潇潇暮雨

凡是简单的必有限制。一个判断还好,多个判断就不太好写了

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更加清晰
打开App,查看更多内容
随时随地看视频慕课网APP