- Objective-C和Sprite Kit游戲開發從入門到精通
- 曹化宇
- 706字
- 2021-01-07 18:57:38
2.7 布爾類型
在圖2-14中,我們可以看到艙門的兩個狀態:開啟和關閉。在代碼中,我們可以使用一個變量來標識艙門的狀態,那么,這個變量應該是什么類型呢?

圖2-14 艙門開啟與關閉
代碼中,像這種“開/關”“是/否”“真/假”一類的數據類型,我們一般會使用布爾(Boolean)類型,也稱為邏輯型。
■2.7.1 BOOL類型
在Objective-C中,布爾類型的數據可以統一使用BOOL類型,根據不同的平臺,它分別定義為bool或signed char類型的別名。此外,BOOL類型的取值只有兩個,即YES和NO。
下面的代碼演示了BOOL類型的使用。
#import <Foundation/Foundation.h> int main(int argc, const char *argv[]) { @autoreleasepool { BOOL doorIsOpen = NO; NSLog(@"%i", doorIsOpen); } return 0; }
執行代碼,我們會看到顯示的內容是0,而不是NO。這是由于YES和NO值是以宏的形式來實現的,所以,我們無法直接顯示YES或NO,而是顯示它們對應的值,整數形式就是1(YES)和0(NO)。
■2.7.2 布爾運算
布爾運算(又稱為邏輯運算),在Objective-C中,布爾運算符包括:
? 邏輯與運算符&&。
? 邏輯或運算符||。
? 邏輯非運算符!。
此外,布爾運算的結果同樣為布爾數據,在Objective-C中,也就是BOOL類型,只能是YES或NO值。
邏輯與(AND)運算,使用兩個運算數,只有兩個運算數的值都是真(YES)時,運算結果才為真(YES),否則運算結果為假(NO)。
NSLog(@"%i", YES && YES); // 1 NSLog(@"%i", YES && NO); // 0 NSLog(@"%i", NO && NO); // 0
邏輯或(OR)運算,使用兩個運算數,當其中一個運算數的值為真(YES)時,運算結果就為真(YES),否則運算結果為假(NO)。如下面的代碼。
NSLog(@"%i", YES || YES); // 1 NSLog(@"%i", YES || NO); // 1 NSLog(@"%i", NO || NO); // 0
邏輯非(NOT)運算,也稱為取反運算,只需要一個運算數,當運算數為真(YES)時,取反運算結果為假(NO);當運算數為假(NO)時,取反運算結果為真(YES)。如下面的代碼。
NSLog(@"%i", ! YES); // 0 NSLog(@"%i", ! NO); // 1
第3章,我們可以看到在控制語句中如何將比較運算和邏輯運算組合使用,從而使用復雜的邏輯條件。
推薦閱讀
- Salesforce Platform Developer I Certification Guide
- 和秋葉一起學Excel(第2版)
- 電腦高效辦公
- PowerPoint!讓教學更精彩:PPT課件高效制作(全彩)
- 新編Excel公式、函數與圖表應用大全(2016實戰精華版)
- IT審計:用SQL+Python提升工作效率
- Office 2003辦公應用從入門到精通
- Access VBA活用范例手冊
- Project 2013從新手到高手
- 辦公自動化綜合案例應用教程
- Excel商務數據分析與應用(慕課版·第2版)
- MATLAB 8.X實戰指南
- 數據呈現之美:Excel商務圖表實戰大全
- 左手Excel右手Tableau數據分析可視化入門案例視頻精講
- 企業云桌面規劃、部署與運維