C#物件導向程式設計(四){反覆運算敘述句與跳躍陳述}

程式最方便的功能之一就是可以使用特定的描述完成反覆的事情,而這種能力就叫做迴圈(LOOP)。反覆重複陳述式直到特定的次數、或者終止的條件,除非遇到跳躍陳述,否則將會依照規則順序執行。這些相關的關鍵字有這些:for、foreach、in、do、while、continue、break、goto、return。這篇將會看看如何組合應用。
c#

  • dowhile
    dowhile 實際上是用 do 關鍵字與 while 組合起來的迴圈用法,不同於 while 的地方是 無論條件成立與否都會執行一次。

    Output: 5 之後停止。
  • while
    while 以條件為優先做判斷,決定何時停止迴圈執行。

    Output: 0~4 之後停止。
  • for
    for 迴圈可以下的條件參數較多,以(起始值範圍值迭代值)組成,立變數  i 起始值。 不論迴圈重複幾次,此步驟只會發生一次。再以範圍值評估條件 (i <= X),i 值會與 X 進行比較,成立則繼續運作。接著利用迭代值使 i 超過範圍停止迴圈。

    Output: 1~5 之後停止。
  • foreachin
    foreach 則必須搭配 in 關鍵字使用,簡單說他是一種簡化版的for 迴圈,有可以遍歷集合項目的特點,但僅提供讀取禁止修改主體元素。

     

     

 

跳躍陳述式:利用以下關鍵字可讓程式控制立即轉移。

  • break
    之前 switchcase 中使用過 break 關鍵字,不過 break 也可以拿來中斷 forwhile 迴圈。


     
  • continue
    continue 則是另一種打斷迴圈的方式,只是在打斷後還會繼續執行下一圈。

     
  • goto
    goto 陳述式會將程式控制權直接轉移到標記陳述式。跳轉至預設的標籤可以讓一組包覆極為複雜的迴圈立刻解放。標籤用字組加上 : 來定義。
  • return
    return 陳述式除了之前提到可以傳回值以外,如果方法是 void 類型,則省略 return 陳述式。它也會終止執行在其中出現的方法,並且將控制權轉給方法本身。

    以UNITY的 Update舉例的話,除非按下按鍵否則最後一行的 GO~ 不會被印出來,會直接回到Update的開始繼續執行。

 

Leave a Reply