• 分支語句
• 迴圈語句
• 跳轉語句
objective-c中的控制語句有以下幾類:
• 分支語句:if-else, switch
• 迴圈語句:while, do-while, for
• 與程式轉移有關的跳轉語句:break, continue, goto
分支語句提供了一種控制機制,使得程式的執行可以跳過某些語句不執行,而轉去執行特定的語句。
1.條件語句 if-else
2.多分支語句 switch
條件語句 if-else,基本語法形式如下,其中「」中的部分可以省略。
if (boolean-expression)
statement1;
[else if (boolean-expression) statement2;]
[else statement3;]
int number1 = 0;int number2 = 1
;int max = 0
;if (number1 >number2)
else
//列印最大值max
nslog(@"
the maximum is %i
", max);
多分支語句 switch它的語法形式如下,其中「」中的部分可以省略。
switch(expression)
int score = 0;scanf("%i
", &score);
int scoreval = score / 10
;char reschar = '';
switch
(scoreval)
nslog(
@"你的分數是:%c
", reschar);
使用switch語句一定要注意的是:表示式expression的返回值型別必須是整數或能夠自動轉換成整數的型別都可以,因此可以是_bool、char、short int、列舉型別、int、long int、longlong以及它們的無符號型別等。但不能是float和double等浮點型別。case子句中的值valuen必須是常量,而且所有case子句中的值應是不同的。default子句是可選的。break語句用來在執行完乙個case分支後,使程式跳出switch語句,即終止switch語句的執行。在一些特殊情況下,多個不同的case值要執行一組相同的操作,這時可以不用break。
迴圈語句的作用是反覆執行一段**,直到滿足終止迴圈的條件為止。objective-c語言中提供的迴圈語句有:
• while語句
• do-while語句
• for語句
• while語句,它的語法形式如下,其中「」中的部分可以省略。
[initialization]
while (termination)
• 下面**是計算1000以內的水仙花數。
int i = 100;int
r, s, t;
r = 0;s = 0;t = 0
;while (i < 1000
) i = i + 1
;}
do-while語句,它的語法形式如下,其中「」中的部分可以省略。
[initialization]
do while (termination);
• 計算1000以內的水仙花數
int i = 100;int
r, s, t;
r = 0;s = 0;t = 0;do
i = i + 1;}
while (i < 1000);
for語句,語法形式如下:
for (initialization; termination; iteration)
下面**是計算0~8平方、立方數並輸出:
int i = 8;int
r, s;
r = 0
;s = 0
;for (int j = 0; j <= i; j++)
在for迴圈語句的「()」內部一般有3條語句,initialization初始化語句,termination終止條件語句,iteration迭代語句,其中這3條語句都是可以省略的。例如把j的初始化放在迴圈體的外面,**如下:
int j = 0;for (; j <= i; j++)
與程式轉移有關的跳轉有break, continue, goto語句,break和continue都主要與迴圈有,goto語句在c中就有,它是無條件跳轉可以完全替代break和continue,一般要慎用。
break語句在switch中使用過,用來終止switch語句的執行。break語句還可以用於迴圈體中,終止當前的迴圈,並緊跟該迴圈塊的第一條語句處執行。例如下面的**片段:
for (int i = 0; i < 10; i++)
nslog(@" game over!");
continue語句用來結束本次迴圈,跳過迴圈體中下面尚未執行的語句,接著進行終止條件的判斷,以決定是否繼續迴圈。對於for語句,在進行終止條件的判斷前,還要先執行迭代語句。例如下面的**片段:
for (int i = 0; i < 100; i++)
goto語句是無條件跳轉,可以完全替代break和continue。如果是巢狀迴圈,可以使用goto語句指定標籤,來改變程式的流程,例如下面的**片段。
for (int j = 0; j < 10; j++)
}label:
nslog(@" game over!");
在內迴圈中使用break和continue都只能跳出內迴圈,goto語句沒有這個限制,label:是標籤定義,goto語句後面要跟有標籤。
Objective c 訪問控制
在objective c中定義類時,也可以使用類似於c 中public private來修飾成員變數,如下 intte ce test nsobject protected 用此指令修飾的例項變數可以被該類和任何子類定的方法直接訪問,這是預設情況。private 用此指令修飾的例項變數可以被定義在該...
Objective c 訪問控制
在objective c中定義類時,也可以使用類似於c 中public private來修飾成員變數,如下 cpp view plain copy intte ce test nsobject protected 用此指令修飾的例項變數可以被該類和任何子類定的方法直接訪問,這是預設情況。privat...
Objective C控制語句
objective c控制語句有以下三類 分支語句 if else,switch 迴圈語句 while,do while,for 與程式轉移相關的跳轉語句 break,continue,goto.分支語句 分支語句提供了一種控制機制,使得程式的執行可以跳過某些語句不執行,而轉去執行特定的語句。1.條...