循環、邏輯語句塊
好久不寫博客了,斷更了好幾天了,從上周五到今天,從北京到上海,跨越了1213.0公裡,從一個熟悉的城市到陌生的城市,還好本人適應力比較好,還有感謝小伙伴的接風咯,一切都不是事,好了,進入正題:
本篇還是.NET 基礎部分咯,主要簡述循環,判斷:
循環:
for循環
語法:
for(表達式1;表達式2;表達式3) { 循環體; }
表達式1一般為聲明循環變量,記錄循環的次數(int i=0;)
表達式2一般為循環條件(i<10)
表達式3一般為改變循環條件的代碼,使循環條件終有一天不再成立(i++)。
執行過程:程序首先執行表達式1,聲明了一個循環變量用來記錄循環的次數,
然後執行表達式2,判斷循環條件是否成立,如果表達式2返回的結果為true,
則執行循環體。當執行完循環體後,執行表達式3,然後執行表達式2繼續判斷循環條件是否成立,如果成立則繼續執行循環體,如果不成立,則跳出for循環。
案例:
注:如案例中的“水仙花數” 不懂自行百度。
foreach循環:
語法:
foreach(數據類型 標識符 in 表達式) { 循環體 }
foreach (type identifier in expression)
{
Statement
}
其中:
type
identifier 的類型。
identifier
表示集合元素的迭代變量。如果迭代變量為值類型,則無法修改的只讀變量也是有效的。
expression
對象集合或數組表達式。集合元素的類型必須可以轉換為 identifier 類型。請不要使用計算為 null 的表達式。
而應計算為實現 IEnumerable 的類型或聲明 GetEnumerator 方法的類型。在後一種情況中,GetEnumerator 應該要麼返回實現 IEnumerator 的類型,要麼聲明 IEnumerator 中定義的所有方法。
statement
要執行的嵌入語句。
案例:
注:案例中是聲明一個int類型的數組。以後的篇章中會講述到數組、集合。
while循環:
語法:
while(循環條件) { 循環體; }
執行過程:程序運行到while處,首先判斷while所帶的小括號內的循環條件是否成立,
如果成立的話,也就是返回一個true,則執行循環體,執行完一遍循環體後,再次回到
循環條件進行判斷,如果依然成立,則繼續執行循環體,如果不成立,則跳出while循環。
在while循環當中,一般總會有那麼一行代碼,能夠改變循環條件,使之終有一天不再成立,
如果沒有那麼一行代碼能夠改變循環條件,也就是循環條件永遠都成立,我們稱之這種循環
叫做死循環。
最簡單的最常用的死循環:
while(true) { }
特點:先判斷,再執行,有可能一遍循環都不執行。
案例:
do-while循環
語法:
do { 循環體; }while(循環條件);
執行過程:程序首先會執行do中的循環體,執行完成後,去判斷do-while循環的循環條件,
如果成立,則繼續執行do中的循環體,如果不成立,則跳出do-while循環。
特點:先循環,再判斷,最少執行一遍循環體。
案例:
嵌套循環:外層循環用來控制輸出的行數,內層循環用來控制輸出的列數
for(表達式1;表達式2;表達式3) { for(表達式1;表達式2;表達式3) { 循環體; } }
例如99乘法表:
邏輯語句塊:
if語句:
語法:
if(判斷條件) { 要執行的代碼; }
判斷條件:一般為關系表達式或者bool類型的值。
執行過程:程序運行到if處,首先判斷if所帶的小括號中的判斷條件,
如果條件成立,也就是返回true,則執行if所帶的大括號中的代碼,
如果判斷條件不成立,也就是返回一個false。則跳過if結構,繼續向下執行。
if結構的特點:先判斷,再執行
案例:
if-else
語法:
if(判斷條件) { 執行的代碼; } else { 執行的代碼 }
執行過程:程序執行到if處,首先判斷if所帶的小括號中的判斷條件是否成立,
如果成立,也就是返回一個true,則執行if所帶的大括號中的代碼,
執行完成後,跳出if-else結構。
如果if所帶的小括號中的判斷條件不成立,也就是返回一個false,
則跳過if語句,執行else所帶的大括號中的語句,執行完成後,跳出if-else結構。
if-else特點:先判斷,再執行,最少都要執行一條代碼。
用於兩種情況的判斷
注意:else永遠跟離它最近的那個if配對
案例:
if else-if
作用:用來處理多條件的區間性的判斷。
語法:
if(判斷條件) { 要執行的代碼; } else if(判斷條件) { 要執行的代碼; } else if(判斷條件) { 要執行的代碼; } else if(判斷條件) { 要執行的代碼; } ........ else { 要執行的代碼; }
執行過程;程序首先判斷第一個if所帶的小括號中的判斷條件,如果條件成立,也就是返回一個true,
則執行該if所帶的大括號中的代碼,執行完成後,立即跳出if else-if結構。
如果第一個if所帶的判斷條件不成立,也就是返回一個false,則繼續向下進行判斷,依次的判斷每一個if所帶
的判斷條件,如果成立,就執行該if所帶的大括號中的代碼,如果不成立,則繼續向下判斷,
如果每個if所帶的判斷條件都不成立,就看當前這個if else-if結構中是否存在else。
如果有else的話,則執行else中所帶的代碼,如果沒有else,則整個 if-else if神馬都不做。
else可以省略。
案例:
根據上邊你就是會看出if else-if 在條件特別多的時候會導致代碼很長很不好看,這時我們會用另一個來替換:
switch-case
用來處理多條件的定值的判斷。
語法:
switch(變量或者表達式的值) { case 值1:要執行的代碼; break; case 值2:要執行的代碼; break; case 值3:要執行的代碼; break; .......... default:要執行的代碼; break; }
執行過程:程序執行到switch處,首先將括號中變量或者表達式的值計算出來,
然後拿著這個值依次跟每個case後面所帶的值進行匹配,一旦匹配成功,則執行
該case所帶的代碼,執行完成後,遇到break。跳出switch-case結構。
如果,跟每個case所帶的值都不匹配。就看當前這個switch-case結構中是否存在
default,如果有default,則執行default中的語句,如果沒有default,則該switch-case結構
什麼都不做。
案例:
最後來個彩蛋:
break ,continue ,return 的區別及作用:
第一:break語句通常用在循環語句和開關語句中,當break語句用於do-while、for、while循環語句中時,可使程序終止循環而執行循環後面的語句, 通常break語句總是與if語句聯在一起,即滿足條件時便跳出循環。例如:注意:
1) break語句對if-else的條件語句不起作用。
2) 在多層循環中, 一個break語句只向外跳一層。
第二:continue語句的作用是跳過循環本中剩余的語句而強行執行下一次循環。continue語句只用在for、while、do-while等循環體中,常與if條件語句一起使用,用來加速循環。其實就是continue跳過一次循環以及後面的語句,進行下次循環。
第三: return語句是將函數的值返回主調函數。例如:
return 語句的一般形式為:
return 表達式
或者為:
return (表達式)
好了 , 本篇就到這裡了,另本篇提供的案例只有截圖,沒有運行的結果,請自行處理咯。希望能對初學者帶來幫助,更希望大神能帶帶我們,帶我們裝逼,帶我們飛。。。
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持幫客之家!