我們在前面已經(jīng)看到了Objective-C語言程序的基本結(jié)構(gòu),所以這比較容易理解其他的 Objective-C編程語言的基本構(gòu)造塊。
Objective-C語言程序包括各種令牌,令牌是一個(gè)關(guān)鍵字,一個(gè)標(biāo)識符,常量,字符串文字或符號。例如,下面的語句由Objective-C的6個(gè)令牌組成:
NSLog(@"Hello, World! ");
單獨(dú)的標(biāo)記如下:
NSLog @ ( "Hello, World! " ) ;
在Objective-C程序中,分號是語句終止。也就是說,每一個(gè)單獨(dú)的語句必須以分號結(jié)束。表示結(jié)束的一個(gè)邏輯實(shí)體。
例如,下面是兩個(gè)不同的語句:
NSLog(@"Hello, World! "); return 0;
注釋就像Objective-C程序中的文本幫助,它們被編譯器忽略。他們開始用/* 和 */如下所示的字符終止:
/* my first program in Objective-C */
不能在注釋有注釋,他們不會(huì)出現(xiàn)在一個(gè)字符串或字符文字。
Objective-C的標(biāo)識符是用來標(biāo)識變量,函數(shù),或任何其它用戶定義的項(xiàng)目名稱。一個(gè)標(biāo)識符開始以字母A到Z或a到z或下劃線_后跟零個(gè)或多個(gè)字母,下劃線和數(shù)字(0?9)。
Objective-C中不允許標(biāo)點(diǎn)符號如@,$,%以內(nèi)標(biāo)識符。 Objective-C語言是區(qū)分大小寫的編程語言。因此,Manpower 和 manpower 在Objective-C是兩個(gè)不同的標(biāo)識符??山邮艿臉?biāo)識下面是一些例子:
mohd zara abc move_name a_123
myname50 _temp j a23b9 retVal
下面的列表顯示了一些Objective-C語言中的保留字。這些保留字不能用作常數(shù)或變數(shù),或任何其他標(biāo)識符名稱。
| auto | else | long | switch |
| break | enum | register | typedef |
| case | extern | return | union |
| char | float | short | unsigned |
| const | for | signed | void |
| continue | goto | sizeof | volatile |
| default | if | static | while |
| do | int | struct | _Packed |
| double | protocol | interface | implementation |
| NSObject | NSInteger | NSNumber | CGFloat |
| property | nonatomic; | retain | strong |
| weak | unsafe_unretained; | readwrite | readonly |
一行只含有空格,可能帶有注釋,被稱為一個(gè)空行, Objective-C編譯器完全忽略它。
空白是Objective-C中使用的術(shù)語來形容空格,制表符,換行符和注釋??瞻椎穆暶鲝牧硪粋€(gè)分離的一部分,使編譯器識別一個(gè)元件在一份聲明中,如int,結(jié)束和下一個(gè)元素開始。因此,在下面的語句:
int age;
必須有至少一個(gè)int和 age 編譯器能夠區(qū)分它們之間的空白字符(通常是一個(gè)空間)。如下語句:
fruit = apples + oranges; // get the total fruit
沒有空格字符之間 fruit 和=,=和apples之間是必要的。