迴圈敘述 - for 敘述

迭代用來建立可重複執行的程式迴圈區塊,其中包含了幾種不同的類型,列舉如下:

迴圈種類說明
for設定一個固定次數的迴圈敘述。
while設定一個依特定條件決定是否重複執行的廻圈。
do-while設定一個依特定條件決定是否重複執行的廻圈。
foreach重複執行列舉陣列與集合內容值的程式區塊。

其中最單純的便是 for ,用來重複執行特定次數的迴圈區塊, while 與 do-while 架構非常類似,根據指定的條件決定是否繼續重複執行指定的迴圈區塊。

最後一個 foreach 比較特殊,它用來列舉集合物件當中的元素,並且將其逐一取出作運算。

for 敘述句

如果想要重複執行某個範圍的程式區塊,可以使用for 迴圈達到這樣的目的,此種類型的敘述句格式如下:
for ([];[];[])
{
    區塊敘述句…
}
括弧中的第一段敘述初始化一個變數值,表示迴圈的開始數值,通常宣告一個整數變數如下,這段敘述指定一個0的起始整數:
int loop = 0
第二段表示式指定迴圈於何種情況下結束,例如當 loop 小於 10:
loop < 10
每當這個條件值回傳 true 時,則迴圈繼續執行,直到變數 loop 不再小於 10 則停止 for 迴圈。第三段敘述句則設定每次變數值改變的方式,例如要讓迴圈跑 10 次,則將上述的 loop 變數加 1,如下式:
loop ++
每一次迴圈執行完畢時,第二段判斷式就會重新檢視新的 loop 變數,看看是否符合繼續執行的條件,是的話繼續執行迴圈,否則直接跳出,底下的圖示說明其中的流程。

以下的程式碼,使用for敘述句執行數值 1 加到 100 的運算,最後將結果輸出於主控台。
class Program
{  
  static void Main(string[] args)
  { 
      int intBegin    ; 
      const int intEnd  = 100  ;   
      int intSum = 0 ; 
      for (intBegin =1  ; intBegin <= intEnd ; intBegin ++) 
      {    
            intSum  += intBegin ; 
            if (intBegin%10 == 0)  
                  Console.WriteLine("1 ~ {0} 的加總等於 {1} ",intBegin , intSum) ; 
      }   
  }
}
首先定義一個 int 常數 intEnd ,將其值初始化為 100 ,作為 for 迴圈結束的條件值,另外建立一個整數型別變數 intBegin ,此為 for 廻圈的計數變數。

接下來的 for 敘述句一開始設定 intBegin 變數值為 1 ,迴圈每執行一次,便將此變數值加上 1 ,由於進行 1 至 100 的整數加總,當 intBegin 變數值大於 intend ,也就是迴圈超過 100 次的時候,則跳出 for 敘述句。

for 敘述句的程式碼區塊裏,將先前建立的變數 intSum 與計數值 intBegin 作加總。 最後的 if 判斷式運用模數運算子,檢視目前加總次數是否為 10 的倍數,當結果等於 0 的時候,表示此次迴圈為 10 的倍數,將加總結果輸出,最後一筆輸出則為 1 ~ 100 的總合。

以下來看輸出結果:
1 ~ 10 的加總等於 55
1 ~ 20 的加總等於 210
1 ~ 30 的加總等於 465
1 ~ 40 的加總等於 820
1 ~ 50 的加總等於 1275
1 ~ 60 的加總等於 1830
1 ~ 70 的加總等於 2485
1 ~ 80 的加總等於 3240
1 ~ 90 的加總等於 4095
1 ~ 100 的加總等於 5050



沒有留言: