if(條件式) 陳述句;
(k ゚∀゚)<當條件式成立時,下一句的陳述句就會被執行,否則這陳述句被略過,而且為了看起來比較易讀,我們會把if裡面的陳述句縮進去。
有沒有一些例子?>( ゚ω゚ s)
(k ゚∀゚)<嗯,可以看看以下的範例。
var mark=(real)System.inputString("","請輸入您的分數",""); if(mark>=60) System.inform("恭喜,您合格了!"); System.inform("您的分數是"+mark);
(k ゚∀゚)<在上述的範例裡,當mark的值大於或等於60,就會顯示"恭喜,您合格了!"。
(k ゚∀゚)<不過留意這個if陳述式只影響到下一句的陳述句,所以那句System.inform("您的分數是"+mark)無論在任何情況下都會被執行。
若果我想用if後決定執行兩個或以上陳述句,我該怎麼辦?>( ゚ω゚ s)
(k ゚∀゚)<在這種情況下,我們會把兩個或以上陳述句組合起來,一般稱為複合陳述句(compound statement),複合陳述句會使用到{}來把它們包起來,以下是在if 陳述式上使用複合陳述句的用法。
if(條件式){ 陳述句1; 陳述句2; }
(k ゚∀゚)<再看看以下的範例。
var mark=(real)System.inputString("","請輸入您的分數",""); if(mark>=60){ System.inform("恭喜,您合格了!"); System.inform("下次目標是滿分!"); } System.inform("您的分數是"+mark);
(k ゚∀゚)<在上述的範例裡,當mark的值大於或等於60,就會顯示"恭喜,您合格了!"和"下次目標是滿分!"。
如果我想在mark的值小於60時顯示不合格,那該怎麼辦?>( ゚ω゚ s)
(k ゚∀゚)<這時我們可以使用if-else陳述式(if-else statements),以下是其用法。
if(條件式) 陳述句1; else 陳述句2;
(k ゚∀゚)<當條件式成立時,陳述句1就會被執行,否則就執行陳述句2。
(k ゚∀゚)<再看看以下的範例。
var mark=(real)System.inputString("","請輸入您的分數",""); if(mark>=60) System.inform("恭喜,您合格了!"); else System.inform("真遺憾,您不合格……"); System.inform("您的分數是"+mark);
(k ゚∀゚)<在上述的範例裡,當mark的值大於或等於60,就會顯示"恭喜,您合格了!"。假如條件式不成立,這意味著mark的值並不大於或等於60,即是小於60,這就會顯示"真遺憾,您不合格……"。
原來如此!>( ゚ω゚ s)
(k ゚∀゚)<我們也可以在if-else裡執行另一個if-else陳述式,由於是if-else裡包含另一個if-else陳述式,就像鳥巢一樣一層層包起來,所以一般稱之為巢狀if陳述式(nested if statemnets),以下是其用法的例子。
if(條件式1) if(條件式2) 陳述句1; else{ if(條件式3) 陳述句2; }
(k ゚∀゚)<不過為了看起來更加容易理解,有時我們會寫成以下的模樣。
if(條件式1) if(條件式2) 陳述句1; else if(條件式3) 陳述句2;
(k ゚∀゚)<我們把else if寫在一起,看起來比較易讀。
我看不出有什麼差別?>( ゚ω゚ s)
(k ゚∀゚)<當我們使用多個if-else陳述式時,這樣寫的話會清楚得多,以下是例子。
if(條件式1) 陳述句1; else if(條件式2) 陳述句2; else if(條件式3) 陳述句3; else if(條件式4) 陳述句4;
(k ゚∀゚)<當條件式1是不成立,就會跳到else的部分,並考慮條件式2。當條件式2是不成立,就會跳到else的部分,並考慮條件式3,如此類推。
(k ゚∀゚)<再看看以下的範例。
var mark=(real)System.inputString("","請輸入您的分數",""); var grade; if (mark<=100 && mark>=80) grade="A"; else if (mark<80 && mark>=70) grade="B"; else if (mark<70 && mark>=60) grade="C"; else grade="F"; System.inform("您獲得了"+grade+"。");
(k ゚∀゚)<當mark的值分別是60至70,70至80或80至100,grade就會指定為"A"、"B"或"C",若果以上的條件式都不成立,grade就會指定為"F"。
這樣說就算我輸入101或-1等錯誤的值,grade也會指定為"F"?>( ゚ω゚ s)
(k ゚∀゚)<是的,由於所有條件式都不成立,所以會跳到最後的else部分,grade就會指定為"F"。
(k ゚∀゚)<好吧,今次介紹到這裡,下次再見。
沒有留言:
發佈留言