Objective-C之成魔之路【5-選擇結構】

來源:互聯網
上載者:User

標籤:objective-c   物件導向   switch   boolean   選擇語句   

重開發人員的勞動成果,請勿轉載

Objective-C中的控制語句有以下幾類: 
? 分支語句: if-else, switch
? 迴圈語句: while, do-while, for
? 與程式轉移有關的跳躍陳述式: break, continue, goto

對於任何程式語言來說,有能力進行判斷是一項基本特性。
if-else語句分支語句提供了一種控制機制, 使得程式的執行可以跳過某些語句不執行, 而轉去執行特定的語句。 
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) {
max = number1;
} else {
max = number2;
}
// 列印最大值max
NSLog(@"The maximum is %i ", max);

對於if語句,下面的代碼很有價值:

int numerator;

int denominator;

-(double) convertToNum

{

if (denominator != 0) { //這裡防止分母為0很必要

return (double) numerator /denominator;//這裡double強轉很有必要,否則小數位的值就丟了。

} else {

return NAN;//這裡NAN表示一個數字,這個符號被定義在系統標頭檔math.h中。

}

}

判斷整數能否整除2

remainder = number_to_test % 2;

if ( remainder == 0) {

//整除2

xxoo

}


最後對於if的條件運算式,要求用括弧括起來,不要過度依賴於優先順序。

盡量預測程式可能失敗或產生非預期結果的情形,然後採取預防性措施應付這些情況,

是編寫優秀而可靠的程式的必要部分。

其實,這個條件陳述式,寫的好不好,主要看邏輯思維縝密不縝密。


Objective-C中有兩個內建的特性,可以使Boolean變數的使用更容易。

一種特性就是特殊類型BOOL,它可以用於聲明值非真即假的變數。

另外一種是預定義的值YES和NO。

非零意味著滿足和零意味著不滿足。


switch語句多分支語句 switch它的文法形式如下, 其中“[]”中的部分可以省略。 

switch (expression){
     case value1 : statement1;
    break;
    …………
     case valueN : statemendN;
    break;
    [default : defaultStatement; ]
   }

舉例如下:int score = 0;
scanf("%i", &score);
int scoreVal = score / 10;
char resChar = ‘ ‘;
switch (scoreVal ) {
case 9:
resChar = ‘A‘;
break;
case 8:
resChar = ‘B‘;
break;
case 7:
resChar = ‘C‘;
break;
case 6:
resChar = ‘E‘;
break;
default :
resChar = ‘F‘;
}
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之成魔之路【5-選擇結構】

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.