感覺前者不是更簡潔嗎?
5 回答

K_Biao
TA貢獻44條經驗 獲得超24個贊
If-else比三目運算?: 更快一點。
編譯器處理這兩者的時候是不一樣的??磪R編代碼會看出區別。
三目運算是先運算,再賦值!
????例如 : ?
???????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 關注
- 2733 瀏覽
添加回答
舉報
0/150
提交
取消