5 回答

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

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