2012年7月6日 星期五

for、 while、 if、 switch 怎麼用?


  還記得開始寫android的時候,因為不熟悉程式碼,看到這4個指令:
    forwhileifswitch
的時候總是被這4種看似判斷又像迴圈的指令搞混(特別是ifwhile)。
到底何種時候用那種比較合適呢,其實看個人習慣,不過這四種指令
一定要分清楚的觀念:是否為迴圈!
迴圈代表它會一直重覆動作,並不會跳出來或自動終止(除非已不符合它
迴圈的條件),所以在用迴圈時,一定要特別注意它的判斷條件,否則很
容易造成無窮迴圈的形成~

這四種指令我們可以分成兩類,一類是單純的判斷(ifswitch),另一類就
是迴圈(forwhile),這裡先從容易理解的開始說起

1、switch(判斷式)

基本上它是尋找符合的條件才跳進去
舉例來說:
switch(a)   // 尋找a這個參數符合的條件
{
case 1: //a=1的動作
break;//中斷
case 2://a=2的動作
break;
case 3://a=3的動作
break;
default://預設的動作
break;
 }
由上面這個範例我們可以看出,尋找a=1a=2a=3及不符合
這些條件
(default)時的動作,每個條件做完之後,我們都要再加上break(才會跳出switch,不然只會浪費資源往下繼續找其他符合的條
件,當然大多已不符合了
),而我們用break的好處是我們只用switch
來做一次尋找並判斷,當找到我們要的之後,就可以跳開
switch,繼
續往下一個動作去執行。
    另外,我們用的參數是要以整數(int)來放,字串(string)不行放入switch

2、for(有條件的迴圈)

for(初始變數;判斷式;遞增式)
舉例:
for(int i=0;i<3;i++)//給定初始整數i=0,當小於3時則開始這區塊內的動作
                              //當i=3的時候就停止
{
要執行的動作
}
以這個例子來看,它的動作會作3(因為i012)到i=3的時候,它就停了

3、if(判斷式)

舉例來說:
int i=0;
if(i<3)
{
i++;
}
這個結果會出現i=1(因為i=0,然後因為i++, i加了一次變成1)
請注意:這個過程你會覺得跟for的範例幾乎一樣,但結果就是不同!!

4、while(迴圈)

跟上面的if用同樣的例子來比較
舉例:
i=0;
while(i<3)
{
i++;
}
這個結果會出現i=3(因為i=0,然後i++,一直加到i=3,迴圈共走3)
請注意:這裡的範例跟for很像,也是迴圈,但是~它們出現的結果不太一樣
如果你將i的結果show出來:
for      :i=2(由0、1、2)
if        :i=1(只加1次)
while :i=3(由1、2、3)
上面四種指令是常容易搞混的,因為很多時候它們是通用的(寫法不一樣
而已
),所以在使用時先想清楚,要做判斷還是要做迴圈,這樣子在用時比
較不會出錯
~

5 則留言:

所有的訊息,都會親自看過而且回覆