5 回答

TA貢獻(xiàn)44條經(jīng)驗 獲得超24個贊
If-else比三目運(yùn)算?: 更快一點(diǎn)。
編譯器處理這兩者的時候是不一樣的??磪R編代碼會看出區(qū)別。
三目運(yùn)算是先運(yùn)算,再賦值!
????例如 : ?
???????temp = a > b ? a : b ;
???????a > b ? a : b 是運(yùn)算, ?temp = (a > b ? a : b )是賦值。? ? ? ? ? ? ? ?
?????而 if 語句是直接賦值 ,不存在運(yùn)算,所以快了一點(diǎn)。
當(dāng)然有些編譯器也會做一定的優(yōu)化,使得這兩者區(qū)別沒那么大。

TA貢獻(xiàn)7條經(jīng)驗 獲得超36個贊
對于簡單判斷,程序員總是喜歡省事點(diǎn)寫,比如 i = i + 1寫成 i += 1 或者 ++i 。當(dāng)簡單判斷來賦值的操作,三目運(yùn)算符一行可以完成,后者需要五六行甚至更多。但是當(dāng)我們的判斷邏輯復(fù)雜一些,或者判斷以后,不僅僅用來賦值的時候,if-else的作用是三目運(yùn)算符完全不可以替代的。其實(shí)三目運(yùn)算符是可有可無的,但是if-else是必備。
我覺得討論一下while和for循環(huán)是否可以去掉一個,倒是比這個問題更有可爭論的地方
- 5 回答
- 0 關(guān)注
- 2764 瀏覽
添加回答
舉報