C#學習筆記-(4)流程控制-迴圈:for loop & while loop

Josephine
3 min readJul 25, 2020

前面所提的條件敘述if-statement可以決定程式走向哪個分支,決定是否執行某段程式碼。而迴圈則是希望某段程式碼重複地被執行時所使用的。善用迴圈可以使程式碼變得更簡潔、也可以確實的規範總共要讓程式碼執行幾次。

最常舉的例子就是,當要印出一樣的句子一百次時,與其複製該行貼上一百次,不如利用迴圈輕鬆完成。

for迴圈 for loop

-適合使用於已知次數的情況

for (initializer; condition; iterator)    { body }

for的小括弧內,首先設定變數 i 的初始值,接著設定條件,最後則是迭帶步數,三者中間以分號 " ; " 相隔。

其中變數 i 也可以在for迴圈外宣告,也可以由使用者任意取名,不一定要使用 i 。慣用上使用 i 是index的縮寫,也就是索引的意思,可以把他想成計數器來做使用。

for (int i = 0; i < 10; i++){
Console.WriteLine ("Hello World!");
}

例如當執行這段程式碼時,變數 i 會從預設好的初始值0開始,檢驗是否滿足條件「i < 10」,若條件為真,便會執行大括弧{}內的程式碼Console.WriteLine (“Hello World!”);。

執行完大括弧內的程式碼以後,便執行 i++。在C#中 ++代表+=1,所以第二次執行時,i=1,同樣滿足「i < 10」的條件,所以又會執行一次大括弧內的程式碼。

一直重複執行直到 i=9為止,i++結果為 i=10,就不再滿足「i < 10」的條件,迴圈就到這裡結束。

從迴圈開始到結束,從i=0開始、至i=9為止,一共執行了10次,所以螢幕上將會印出10個Hello World!。

如此一來,便可以用簡單的程式碼代替複製貼上「Console.WriteLine (“Hello World!”);」十次了。

while迴圈 while loop

-適合使用於未知次數的情況

while ( condition ) { body }

while迴圈在執行時,會檢驗小括弧內的條件是否為真,若為真則執行大括弧{}內的敘述,反之則結束迴圈。

若要執行與剛剛for迴圈相同的敘述,在while迴圈內則需要另外宣告一個變數counter代替 i ,寫法為:

int counter = 0;while (counter < 10){Console.WriteLine(“Hello world!”);counter+=1;}

do while 迴圈

do
{
body
}
while ( condition );

do while迴圈基本上與while迴圈無異,唯一的差別在於do while迴圈無論滿足條件與否,都會先執行一次大括弧{}內的敘述,再檢驗條件是否為真。

因此,do while迴圈至少會執行一次,即使初始條件就已經不滿足預設的條件。

無限迴圈 infinite loop

while (true) {}

迴圈控制

在使用迴圈時,難免會遇到希望跳脫迴圈的情況。這種時候便可以使用continue與break來進行迴圈控制。通常搭配 if 判斷式一起使用。

continue

略過該次迴圈、直接執行下一次迴圈。

break

終止迴圈、直接跳出迴圈不再繼續執行。

常見於無限迴圈裡,設立終止條件,一旦滿足終止條件便跳出迴圈。

--

--