- Objective-C和Sprite Kit游戲開發(fā)從入門到精通
- 曹化宇
- 804字
- 2021-01-07 18:57:40
3.2 條件語句
判斷代碼執(zhí)行的邏輯時(shí),條件的設(shè)定是非常重要的,比如,不是友機(jī)并不意味著要摧毀,但如果是敵機(jī),則摧毀是必需的,所以,我們可以快速地判斷它是不是敵機(jī),而不是判斷是否為友機(jī)。
在Objective-C代碼中,對于條件的判斷,可以有兩種方法:
? 使用if語句結(jié)構(gòu)。
? 使用?:運(yùn)算符。
■3.2.1 if語句
if語句的基本應(yīng)用格式如下。
if (<條件>) { <語句塊> }
當(dāng)<條件>成立(YES),就執(zhí)行<語句塊>,然后執(zhí)行}后面的代碼。如果<條件>不成立(NO),就直接執(zhí)行}后面的代碼。
如下面的代碼,如果是敵人,就開火摧毀。
BOOL isEnemy = YES; if (isEnemy) { NSLog(@"開火并摧毀"); }
如果不是敵機(jī)怎么辦呢?我們可以添加else語句,如下面的代碼。
BOOL isEnemy = NO; if (isEnemy) { NSLog(@"開火并摧毀"); } else { NSLog(@"不是敵機(jī),允許登艦"); }
更復(fù)雜的情況下,會(huì)有多個(gè)條件,可以在結(jié)構(gòu)中添加else if語句,如下面的代碼。
if (<條件1>) { <語句塊1> }else if (<條件2>) { <語句塊2> }else if (<條件n>) { <語句塊n> }else { <語句塊n+1> }
在這種if語句結(jié)構(gòu)中,else if可以有多個(gè),也可以沒有,每一個(gè)條件都對應(yīng)了一個(gè)需要執(zhí)行的語句塊。else語句只能放在所有條件的后面,而且只能有一個(gè),當(dāng)所有條件都不滿足時(shí),會(huì)執(zhí)行<語句塊n+1>。
此外,對于條件的判斷還可以嵌套使用,如下面的代碼。
BOOL isEnemy = NO; NSInteger tarmacNumber = 10; if (isEnemy) { NSLog(@"開火并摧毀"); } else { if (tarmacNumber > 0){ NSLog(@"請?jiān)?%li號(hào)專用停機(jī)坪降落", tarmacNumber); } else { NSLog(@"請?jiān)诠餐C(jī)坪降落"); } }
下面的代碼,演示了如何使用復(fù)合條件判斷一個(gè)年份是否為閏年。
int year = 2016; if ((year % 100 ! = 0 && year % 4 == 0) || year % 400 == 0) { NSLog(@"%i年是閏年", year); } else { NSLog(@"%i年不是閏年", year); }
如果大家在工作中需要更多關(guān)于日期的操作,第9章會(huì)討論相關(guān)內(nèi)容。
■3.2.2 ? :運(yùn)算符
對于簡單的if-else語句結(jié)構(gòu),我們可以使用?:運(yùn)算符代替,它是唯一的一種三元運(yùn)算符,需要三個(gè)表達(dá)式參加運(yùn)算,其應(yīng)用格式如下。
<表達(dá)式1> ? <表達(dá)式2> : <表達(dá)式3>
其中,<表達(dá)式1>為邏輯表達(dá)式,其結(jié)果應(yīng)該是BOOL類型,當(dāng)其值為YES時(shí),整個(gè)表達(dá)式的運(yùn)算結(jié)果就是<表達(dá)式2>的值。如果<表達(dá)式1>的值為NO,整個(gè)表達(dá)式的運(yùn)算結(jié)果就是<表達(dá)式3>的值。如下面的代碼。
BOOL isEnemy = NO; isEnemy ? NSLog(@"開火并摧毀") : NSLog(@"不是敵機(jī),允許登艦");
請注意,如果表達(dá)式的代碼稍微有一點(diǎn)點(diǎn)復(fù)雜,可以使用小括號(hào)()將三個(gè)表達(dá)式分別包裝一下。
- 中文版Rhino 5.0實(shí)用教程
- Excel2019高級(jí)進(jìn)階:SQL應(yīng)用
- 新手易學(xué):電腦辦公
- 新編電腦辦公(Windows 7 + Office 2013版)從入門到精通
- 漫!動(dòng)作!人體動(dòng)態(tài)漫畫素描技法超級(jí)大全
- Word/Excel 2016商務(wù)辦公實(shí)戰(zhàn)從新手到高手
- Office 2013輕松辦公:Word/Excel/PowerPoint三合一超級(jí)應(yīng)用大全(實(shí)戰(zhàn)案例版)
- 天天用的Office一百招
- Excel 2013超級(jí)應(yīng)用大全(實(shí)戰(zhàn)案例版)
- Excel 2013應(yīng)用技巧實(shí)例大全
- Word/Excel/PPT 商務(wù)辦公效率手冊:從小白到辦公大神
- Office商務(wù)辦公實(shí)用教程
- Office2010從入門到精通(視頻講解+圖解+技巧)
- AutoCAD2015中文版從入門到精通
- 征服Power BI:提升辦公數(shù)字化能力的45個(gè)實(shí)戰(zhàn)技巧