官术网_书友最值得收藏!

2.9 循環語句

在不少實際問題中有許多具有規律性的重復操作,因此在程序中就需要重復執行某些語句。一組被重復執行的語句稱之為循環體,能否繼續重復,決定循環的終止條件。循環語句是由循環體及循環的終止條件兩部分組成的。循環能夠減少代碼量,避免重復輸入相同的代碼行,也能夠提高應用程序的可讀性。常見的循環語句有for、while、do、for each。

2.9.1 for循環

for循環一般用于已知重復執行次數的循環,是程序開發中常用的循環條件之一,當for循環表達式中的條件為true時,就會一直循環代碼塊。因為循環的次數是在執行循環語句之前計算的,所以for循環又稱作預測式循環。當表達式中的條件為false時,for循環會結束循環并跳出。for循環語法格式如下:

978-7-111-46863-9-Chapter02-48.jpg

for循環的優點就是for循環的條件都位于同一位置。同樣,循環的條件可以使用復雜的布爾表達式表示。for循環表達式包含3個部分,即初始化表達式、條件表達式和迭代表達式。當for循環執行時,將按照以下順序執行。

■在for循環開始時,首先運行初始化表達式。

■初始化表達式初始化后,則判斷表達式條件。

■若表達式條件成立,則執行循環語句。

■循環語句執行完畢后,迭代表達式執行。

■迭代表達式執行完畢后,再判斷表達式條件并循環。

下列代碼是輸出0~99的值。

978-7-111-46863-9-Chapter02-49.jpg

注意:for循環既可做增量操作,也可以做減量操作,如可以寫為for(int i=10;i>0;i--),說明for循環的結構非常靈活,同樣for循環的條件,迭代表達式也不僅局限于此。

2.9.2 while循環

while語句同for語句一樣都可以執行循環,但是while的使用更加靈活,可以在代碼塊執行前判斷條件,也可以在代碼塊執行一次后再行判斷條件。while語句的使用方法基本上和if語句相同,其區別就在于,if語句一般需要先知道循環次數,而while語句即便不知道循環次數也可以使用。while語句基本語法如下:

978-7-111-46863-9-Chapter02-50.jpg

while語句包括兩個部分,布爾值和執行語句,while語句執行步驟一般如下所示。

■判斷布爾值。

■若布爾值為true則執行語句,否則跳過。

下列代碼是將一個數值每次減1,直到這個數值等于1為止。

978-7-111-46863-9-Chapter02-51.jpg

在while語句中,可以使用continue語句來執行下一次迭代而不執行完所有的執行語句,當執行到continue關鍵字時則跳出并繼續執行while循環而不執行continue關鍵字后的語句。也可以使用break關鍵字在某個條件下跳出并終止循環,繼續執行循環后的語句,示例代碼如下:

978-7-111-46863-9-Chapter02-52.jpg

2.9.3 do while循環

do while循環和while循環十分相似,區別在于do while循環會執行一次執行語句,然后再判斷while中的條件。這種循環成為后測試循環,當程序需要執行一次語句再循環的時候,do while語句是非常實用的。do while語句語法格式如下:

978-7-111-46863-9-Chapter02-53.jpg

do while語句包含兩個部分,執行語句和布爾值。與while循環語句不同的是,執行步驟首先執行一次執行語句,具體步驟如下所示。

■執行一次執行語句;

■判斷布爾值;

■若布爾值為true,則繼續執行,否則跳出循環。

do while語句示例代碼如下:

978-7-111-46863-9-Chapter02-54.jpg

2.9.4 for each循環

for循環語句常用的另一種用法就是對數組進行操作,C#還提供了for each循環語句,如果想重復集合或者數組中的所有條目,使用for each是很好的解決方案。for each語句語法格式如下:

978-7-111-46863-9-Chapter02-55.jpg

for each語句執行順序如下:

■集合中是否存在元素;

■若存在,則用集合中的第一個元素初始化局部變量;

■執行控制語句;

■集合中是否還有剩余元素,若存在,則將剩余的第一個元素初始化局部變量;

■若不存在,結束循環。

for each語句示例代碼如下:

978-7-111-46863-9-Chapter02-56.jpg

注意:在使用foreach語句的時候,局部變量的數據類型應該與集合或數組的數據類型相同,否則編譯器會報錯。

主站蜘蛛池模板: 来凤县| 乌苏市| 安福县| 凭祥市| 休宁县| 兴隆县| 鹰潭市| 西乡县| 五莲县| 昭觉县| 扶风县| 友谊县| 文水县| 土默特左旗| 平潭县| 高要市| 沾益县| 陕西省| 蒙自县| 岳普湖县| 四子王旗| 灵武市| 芷江| 吴旗县| 蒙山县| 康定县| 思茅市| 灌阳县| 蕉岭县| 天祝| 自贡市| 仁怀市| 雅江县| 盖州市| 黔西县| 土默特左旗| 教育| 电白县| 阳城县| 安阳县| 正宁县|