1.概述
循環在生活中也常見,例如:鐘錶,每天都會循環,從0點 到12點是一圈。每天都會從12點經過,這個循環是由鐘錶驅動進行的。
而在計算機中,也存在循環,例如:要從資料庫中將所有的學生信息全部讀出來。可以使用循環,讓計算機去一個一個的幫我們拿出來。
在C#中可以使用的循環語句有:while、do…while、for、foreach這4個。
2.While循環
在C#中,while語句用於根據條件值(true/false/)執行循環體(語句塊)0次或多次,當每次while語句中的代碼執行完畢時,將重新查看是否符合條件值,若符合則再次執行相同的程序代碼,否則跳出while語句,執行while後面的代碼。while語句的基本語法如下:
while(條件表達式(要麼是true,要麼是false。)){循環體(或語句塊)}
退出後要執行的代碼
1) While右邊的圓括號中的條件表達式的值要麼是true,要麼是false。只有當值為true時才可以進入循環體重複執行其中的代碼。
2) 當條件表達式的值為false時,則退出循環,執行後面的代碼。
3) 在循環體的代碼中,一定要有改變條件表達式的值為false的時候,否則while將進入死循環,死循環要禁止的。
4) While循環也稱為當型循環,或預測試循環。
protected void Page_Load(object sender, EventArgs e){bool b1 = true; while(b1) { //循環體只有3行代碼 Response.Write(b1.ToString()); Response.Write("在循環體中執行的"); b1 = false; } Response.Write("while已退出循環");}
3.do…while循環
在C#中,do…while語句與while語句相似,它的判斷條件在循環後,do…while稱為後測試循環。do…while 循環會在計算條件表達式之前至少執行一次,其基本形式如下:
do{ 循環體(語句塊)} while(條件表達式);
可以看到,在do…while循環中,條件表達式是放在了後面,在第一次執行時,並沒有進行條件判斷,直接進入了循環體。第一次無條件執行完成後,再進行判斷是否要繼續下一次的循環。
int j = 1;do{Response.Write(j.ToString() + ","); j++;} while (j <= 100);Response.Write("do...while退出了");
4.for循環
4.1. 基本語法
在C#中,for語句用於計算一個初始化序列,然後當某個條件為True(真)時,重複執行循環體(語句塊),如果為假,則終止循環,退出for循環。For循環也是預測試循環。
for語句的基本形式如下。
for(初始化表達式(循環變量);條件表達式;增量){循環體(語句塊)}
如下代碼:
for (int i = 1; i <= 100; i++){Response.Write(i.ToString() + ",");}Response.Write("已退出for循環");
在C#中,for循環也是預測試循環,並且for循環事先知道循環的次數。
4.2. 雙重循環
在C#中,for雙重循環是指在for循環中再嵌套一個for循環。這樣外層for循環執行一次,則內層循環將全部執行完成。
for雙重循環基本語法如下例子:
for(int i=0;i<=10;i++){for(int j=0;j<=10;j++) { Response.Write(string.Format("i={0},j={1}", i.ToString(), j.ToString())); }}
5.foreach循環
在C#中,foreach循環與 for循環類似,但foreach主要用於循環集合的。常用的集合有數組、List列表,這些在後面都會學到。
char類型,表示單個字符,是使用單引號(『』)括起來的。
在這裡對string字符串進行了遍歷,在字符串中,每個字符就是一個char類型,也就是說字符串是由char類型的字符組成的。多個字符組成了字符串。
所以,也可以使用foreach對string字符串進行遍歷,可以將字符串理解為一個集合,該集合中存儲的每一項就是一個字符char。
循環也可以稱為遍歷、或迭代。
6.跳轉語句
6.1. break語句
在C#中,break語句只能應用在switch、while、do…while、for語句中。當多條switch、while、do…while、for互相嵌套時,break語句只應用於最裡層的語句。
break的中文含義是中斷。
注意:break語句是退出整個循環,退出後執行後面的代碼。
for (int i = 1; i <= 100; i++){if (i == 5) { break; } Response.Write(i.ToString() + ",");}Response.Write("已退出for循環");
在此代碼中,當循環到i=5的時候,執行了break語句,則退出了整個循環體。後面不再繼續。
6.2. continue語句
在C#中,continue語句只能應用於while、do…while、for語句中,用來忽略循環體語句塊內位於它後面的代碼而直接開始一次新的循環。當多個while、do…while、for語句互相嵌套時,continue語句只能使直接包含它的循環語句開始一次新的循環。
continue的中文含義是繼續。
注意:在C#中,continue只退出當前循環,會繼續下一次循環,但不退出整個循環。而break會退出整個循環。
for (int i = 1; i <= 100; i++){if (i == 5) { //break; continue; } Response.Write(i.ToString() + ",");}Response.Write("已退出for循環");
break與continue的區別是:break退出整個循環,continue退出當前循環,繼續下一次循環。
break與continue的相同點是:都可以在do…while、while、for循環中使用。但break還可以在switch語句中使用。