while 敘述句根據一段特定條件值,重複執行某段程式碼區塊,每次程式碼區塊執行完畢重新檢視是否符合此條件值,是則再次執行相同的程式區塊,否則跳出反複執行的程式區塊,往下執行區塊以後的程式碼,其語法如下:
使用 while 迴圈敘述,重複執行數值1 加到100的加總運算。
do-while 敘述句
do-while迴圈類似上述的while敘述,其中的差異主要在於每一次程式區塊執行完畢之後,才進行條件值的判斷,若是符合條件值則進行下一次迴圈,否則即跳出迴圈,換句話說,do-while敘述於程式每一次迴圈執行完畢之後作條件式判斷, while 則於每一次迴圈執行前作判斷,以下為 do-while 語法:
while(express) { // while 程式區塊 … }緊接在 while 關鍵字後面的小括弧裏是一段判斷式,其運算結果回傳一個布林值, true則繼續執行 while 程式區塊中的程式碼,否則跳出 while ,緊接著執行迴圈以後的程式碼。
使用 while 迴圈敘述,重複執行數值1 加到100的加總運算。
class Program { static void Main(string[] args ) { int intBegin = 0; const int intEnd = 100; int intSum = 0; while (intBegin <= intEnd) { intBegin++; intSum += intBegin; if (intBegin % 10 == 0) { Console.WriteLine("1 ~ {0} 的加總等於{1} ", intBegin, intSum); } } Console.ReadLine(); } }使用 while 敘述句,於其後的括弧中加入判斷式,當 intBegin 小於或是等於 intend 常數值,跳出 while 程式區塊,否則繼續進行數值的加總操作。 while 還有另外一個型式 - do-while,與 while 的差異在於,迴圈判斷式放在迴圈執行完畢之後。
do-while 敘述句
do-while迴圈類似上述的while敘述,其中的差異主要在於每一次程式區塊執行完畢之後,才進行條件值的判斷,若是符合條件值則進行下一次迴圈,否則即跳出迴圈,換句話說,do-while敘述於程式每一次迴圈執行完畢之後作條件式判斷, while 則於每一次迴圈執行前作判斷,以下為 do-while 語法:
do { // do程式區塊 // … } while(condition expression )相較於 while 敘述,此次的條件判斷式於程式區塊執行完成之後,也因此do-while 迴圈當中的程式區塊至少會執行一次。
class Program { static void Main(string[] args) { int intBegin = 0; const int intEnd = 100; int intSum = 0; do { intBegin++; intSum += intBegin; if (intBegin % 10 == 0) { Console.WriteLine ("1 ~ {0} 的加總等於{1} ", intBegin, intSum); } }while (intBegin <= intEnd) Console.ReadLine(); } }do-while 迴圈中,由於 while 判斷式被移至迴圈的下方,判斷式的運算在迴圈完成之後進行,因此相較於 while 迴圈而言, do-while 迴圈裏的區塊程式碼,至少會執行一次,底下利用一個範例說明這兩種迴圈的差異。
class Program { static void Main(string[] args) { int intBegin1 = 10 ; do { intBegin1++; Console.WriteLine("intBegin1="+intBegin1); } while (intBegin1 < 10); int intBegin2 = 10; while (intBegin2 < 10) { intBegin2++; Console.WriteLine("intBegin2=" + intBegin2); } Console.ReadLine(); } }這個範例設計了兩個 while 迴圈, do-while 迴圈一開始將變數 intBegin1 加 1 並且輸出其值,然後 while 判斷其值是否依然小於 10 ,是的話才進行下一次的迴圈。 另外一個迴圈 while 判斷變數 intBegin2 的值是否小於 10 ,是的話才進行迴圈裏的程式區塊。
intBegin1=11intBegin1 與 intBegin2 這兩個變數的初始值都是 10 , do-while 執行一次之後才結束迴圈,而 while 迴圈因為一開始便進行變數值的判斷,因此其迴圈區塊並沒有執行便結束。
沒有留言:
張貼留言