表達(dá)式1?表達(dá)式2 : 表達(dá)式3 這個(gè)三目運(yùn)算符的作用是:如果表達(dá)式1成立,則取表達(dá)式2的值,否則取表達(dá)式3的值
10年積累的成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有遠(yuǎn)安免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
上面的式子等價(jià)于:
a=3,b=4;
(ab)?( (b=2)?1:2) : ( (ab)?2:1 );
由于ab不成立,所以運(yùn)行 (ab)?2:1;
由于ab不成立,所以取1
如果您認(rèn)可我的答案,請(qǐng)采納。
您的采納,是我答題的動(dòng)力,O(∩_∩)O謝謝??!
三目運(yùn)算符的簡(jiǎn)寫(xiě)是:js。三目運(yùn)算符,又稱條件運(yùn)算符,是計(jì)算機(jī)語(yǔ)言(c,c++,java等)的重要組成部分。它是唯一有3個(gè)操作數(shù)的運(yùn)算符,有時(shí)又稱為三元運(yùn)算符,一般來(lái)說(shuō)三目運(yùn)算符的結(jié)合性是右結(jié)合的。
1、可以使用三目運(yùn)算符打印,比如:
NSLog(@"%@",(bool)?@"YES":@"NO");
2、可以加斷點(diǎn),在斷點(diǎn)處輸入:po+空格+bool
3、加斷點(diǎn)后,在下方需要輸出的變量上點(diǎn)擊右鍵,選第一個(gè)打印
a=null?po.setName(""):po.setName(a);
三目運(yùn)算符格式
x?y:z
x代表Boolean類型的值,先計(jì)算x的值,如果是true,則整個(gè)三木運(yùn)算符的值為表達(dá)式y(tǒng)的值,如果是false則為z值
代表三個(gè)都有,“|”在這里貌似和二進(jìn)制位移有關(guān),我有點(diǎn)印象,但是具體的記不得了
所謂優(yōu)化問(wèn)題1.內(nèi)存優(yōu)化,就是所寫(xiě)代碼的長(zhǎng)度要盡可能的短小但又不是功能,占用內(nèi)存盡可能的少; 2.計(jì)算機(jī)cpu執(zhí)行編譯好的代碼所用的時(shí)間盡可能的少,因?yàn)橛?jì)算機(jī)只有一個(gè)cpu,同一時(shí)間只能執(zhí)行一個(gè)程序,這就要求我們寫(xiě)代碼盡可能少的占用cpu的時(shí)間 根據(jù)以上的介紹我們?cè)賮?lái)談三目運(yùn)算符的?:與if -then-else優(yōu)化的問(wèn)題,三目運(yùn)算符執(zhí)行的起來(lái)使用最多是三個(gè)機(jī)械周期,而if -then-else至少是三個(gè)機(jī)械周期,這就是說(shuō)它至少在占用cpu上是得到了優(yōu)化,其次我們?cè)賮?lái)看看代碼,很明顯if -then-else的代碼要比?:的代碼寫(xiě)得要長(zhǎng)一些,綜合以上三目運(yùn)算符?:是要比if -then-else更為的優(yōu)化。在這里多說(shuō)一點(diǎn),三目運(yùn)算符?:沒(méi)有if -then-else使用的靈活,這也是他們的機(jī)構(gòu)所決定的 越集中的東西越不靈活,無(wú)所謂誰(shuí)更好,只有使用誰(shuí)更適合