- ASP.NET動態網站開發實戰教程
- 張梅 陳廣祥 蘇希
- 1346字
- 2020-11-27 17:49:03
2.9 循環語句
在不少實際問題中有許多具有規律性的重復操作,因此在程序中就需要重復執行某些語句。一組被重復執行的語句稱之為循環體,能否繼續重復,決定循環的終止條件。循環語句是由循環體及循環的終止條件兩部分組成的。循環能夠減少代碼量,避免重復輸入相同的代碼行,也能夠提高應用程序的可讀性。常見的循環語句有for、while、do、for each。
2.9.1 for循環
for循環一般用于已知重復執行次數的循環,是程序開發中常用的循環條件之一,當for循環表達式中的條件為true時,就會一直循環代碼塊。因為循環的次數是在執行循環語句之前計算的,所以for循環又稱作預測式循環。當表達式中的條件為false時,for循環會結束循環并跳出。for循環語法格式如下:
for循環的優點就是for循環的條件都位于同一位置。同樣,循環的條件可以使用復雜的布爾表達式表示。for循環表達式包含3個部分,即初始化表達式、條件表達式和迭代表達式。當for循環執行時,將按照以下順序執行。
■在for循環開始時,首先運行初始化表達式。
■初始化表達式初始化后,則判斷表達式條件。
■若表達式條件成立,則執行循環語句。
■循環語句執行完畢后,迭代表達式執行。
■迭代表達式執行完畢后,再判斷表達式條件并循環。
下列代碼是輸出0~99的值。
注意:for循環既可做增量操作,也可以做減量操作,如可以寫為for(int i=10;i>0;i--),說明for循環的結構非常靈活,同樣for循環的條件,迭代表達式也不僅局限于此。
2.9.2 while循環
while語句同for語句一樣都可以執行循環,但是while的使用更加靈活,可以在代碼塊執行前判斷條件,也可以在代碼塊執行一次后再行判斷條件。while語句的使用方法基本上和if語句相同,其區別就在于,if語句一般需要先知道循環次數,而while語句即便不知道循環次數也可以使用。while語句基本語法如下:
while語句包括兩個部分,布爾值和執行語句,while語句執行步驟一般如下所示。
■判斷布爾值。
■若布爾值為true則執行語句,否則跳過。
下列代碼是將一個數值每次減1,直到這個數值等于1為止。
在while語句中,可以使用continue語句來執行下一次迭代而不執行完所有的執行語句,當執行到continue關鍵字時則跳出并繼續執行while循環而不執行continue關鍵字后的語句。也可以使用break關鍵字在某個條件下跳出并終止循環,繼續執行循環后的語句,示例代碼如下:
2.9.3 do while循環
do while循環和while循環十分相似,區別在于do while循環會執行一次執行語句,然后再判斷while中的條件。這種循環成為后測試循環,當程序需要執行一次語句再循環的時候,do while語句是非常實用的。do while語句語法格式如下:
do while語句包含兩個部分,執行語句和布爾值。與while循環語句不同的是,執行步驟首先執行一次執行語句,具體步驟如下所示。
■執行一次執行語句;
■判斷布爾值;
■若布爾值為true,則繼續執行,否則跳出循環。
do while語句示例代碼如下:
2.9.4 for each循環
for循環語句常用的另一種用法就是對數組進行操作,C#還提供了for each循環語句,如果想重復集合或者數組中的所有條目,使用for each是很好的解決方案。for each語句語法格式如下:
for each語句執行順序如下:
■集合中是否存在元素;
■若存在,則用集合中的第一個元素初始化局部變量;
■執行控制語句;
■集合中是否還有剩余元素,若存在,則將剩余的第一個元素初始化局部變量;
■若不存在,結束循環。
for each語句示例代碼如下:
注意:在使用foreach語句的時候,局部變量的數據類型應該與集合或數組的數據類型相同,否則編譯器會報錯。