詳解.net循環(huán)、邏輯語句塊(基礎(chǔ)知識)
循環(huán)、邏輯語句塊
好久不寫博客了,斷更了好幾天了,從上周五到今天,從北京到上海,跨越了1213.0公里,從一個熟悉的城市到陌生的城市,還好本人適應(yīng)力比較好,還有感謝小伙伴的接風(fēng)咯,一切都不是事,好了,進(jìn)入正題:
本篇還是.NET 基礎(chǔ)部分咯,主要簡述循環(huán),判斷:
循環(huán):
for循環(huán)
語法:
for(表達(dá)式1;表達(dá)式2;表達(dá)式3) { 循環(huán)體; }
表達(dá)式1一般為聲明循環(huán)變量,記錄循環(huán)的次數(shù)(int i=0;)
表達(dá)式2一般為循環(huán)條件(i<10)
表達(dá)式3一般為改變循環(huán)條件的代碼,使循環(huán)條件終有一天不再成立(i++)。
執(zhí)行過程:程序首先執(zhí)行表達(dá)式1,聲明了一個循環(huán)變量用來記錄循環(huán)的次數(shù),
然后執(zhí)行表達(dá)式2,判斷循環(huán)條件是否成立,如果表達(dá)式2返回的結(jié)果為true,
則執(zhí)行循環(huán)體。當(dāng)執(zhí)行完循環(huán)體后,執(zhí)行表達(dá)式3,然后執(zhí)行表達(dá)式2繼續(xù)判斷循環(huán)條件是否成立,如果成立則繼續(xù)執(zhí)行循環(huán)體,如果不成立,則跳出for循環(huán)。
案例:
注:如案例中的“水仙花數(shù)” 不懂自行百度。
foreach循環(huán):
語法:
foreach(數(shù)據(jù)類型 標(biāo)識符 in 表達(dá)式) { 循環(huán)體 }
foreach (type identifier in expression)
{
Statement
}
其中:
type
identifier 的類型。
identifier
表示集合元素的迭代變量。如果迭代變量為值類型,則無法修改的只讀變量也是有效的。
expression
對象集合或數(shù)組表達(dá)式。集合元素的類型必須可以轉(zhuǎn)換為 identifier 類型。請不要使用計算為 null 的表達(dá)式。
而應(yīng)計算為實現(xiàn) IEnumerable 的類型或聲明 GetEnumerator 方法的類型。在后一種情況中,GetEnumerator 應(yīng)該要么返回實現(xiàn) IEnumerator 的類型,要么聲明 IEnumerator 中定義的所有方法。
statement
要執(zhí)行的嵌入語句。
案例:
注:案例中是聲明一個int類型的數(shù)組。以后的篇章中會講述到數(shù)組、集合。
while循環(huán):
語法:
while(循環(huán)條件) { 循環(huán)體; }
執(zhí)行過程:程序運(yùn)行到while處,首先判斷while所帶的小括號內(nèi)的循環(huán)條件是否成立,
如果成立的話,也就是返回一個true,則執(zhí)行循環(huán)體,執(zhí)行完一遍循環(huán)體后,再次回到
循環(huán)條件進(jìn)行判斷,如果依然成立,則繼續(xù)執(zhí)行循環(huán)體,如果不成立,則跳出while循環(huán)。
在while循環(huán)當(dāng)中,一般總會有那么一行代碼,能夠改變循環(huán)條件,使之終有一天不再成立,
如果沒有那么一行代碼能夠改變循環(huán)條件,也就是循環(huán)條件永遠(yuǎn)都成立,我們稱之這種循環(huán)
叫做死循環(huán)。
最簡單的最常用的死循環(huán):
while(true) { }
特點:先判斷,再執(zhí)行,有可能一遍循環(huán)都不執(zhí)行。
案例:
do-while循環(huán)
語法:
do { 循環(huán)體; }while(循環(huán)條件);
執(zhí)行過程:程序首先會執(zhí)行do中的循環(huán)體,執(zhí)行完成后,去判斷do-while循環(huán)的循環(huán)條件,
如果成立,則繼續(xù)執(zhí)行do中的循環(huán)體,如果不成立,則跳出do-while循環(huán)。
特點:先循環(huán),再判斷,最少執(zhí)行一遍循環(huán)體。
案例:
嵌套循環(huán):外層循環(huán)用來控制輸出的行數(shù),內(nèi)層循環(huán)用來控制輸出的列數(shù)
for(表達(dá)式1;表達(dá)式2;表達(dá)式3) { for(表達(dá)式1;表達(dá)式2;表達(dá)式3) { 循環(huán)體; } }
例如99乘法表:
邏輯語句塊:
if語句:
語法:
if(判斷條件) { 要執(zhí)行的代碼; }
判斷條件:一般為關(guān)系表達(dá)式或者bool類型的值。
執(zhí)行過程:程序運(yùn)行到if處,首先判斷if所帶的小括號中的判斷條件,
如果條件成立,也就是返回true,則執(zhí)行if所帶的大括號中的代碼,
如果判斷條件不成立,也就是返回一個false。則跳過if結(jié)構(gòu),繼續(xù)向下執(zhí)行。
if結(jié)構(gòu)的特點:先判斷,再執(zhí)行
案例:
if-else
語法:
if(判斷條件) { 執(zhí)行的代碼; } else { 執(zhí)行的代碼 }
執(zhí)行過程:程序執(zhí)行到if處,首先判斷if所帶的小括號中的判斷條件是否成立,
如果成立,也就是返回一個true,則執(zhí)行if所帶的大括號中的代碼,
執(zhí)行完成后,跳出if-else結(jié)構(gòu)。
如果if所帶的小括號中的判斷條件不成立,也就是返回一個false,
則跳過if語句,執(zhí)行else所帶的大括號中的語句,執(zhí)行完成后,跳出if-else結(jié)構(gòu)。
if-else特點:先判斷,再執(zhí)行,最少都要執(zhí)行一條代碼。
用于兩種情況的判斷
注意:else永遠(yuǎn)跟離它最近的那個if配對
案例:
if else-if
作用:用來處理多條件的區(qū)間性的判斷。
語法:
if(判斷條件) { 要執(zhí)行的代碼; } else if(判斷條件) { 要執(zhí)行的代碼; } else if(判斷條件) { 要執(zhí)行的代碼; } else if(判斷條件) { 要執(zhí)行的代碼; } ........ else { 要執(zhí)行的代碼; }
執(zhí)行過程;程序首先判斷第一個if所帶的小括號中的判斷條件,如果條件成立,也就是返回一個true,
則執(zhí)行該if所帶的大括號中的代碼,執(zhí)行完成后,立即跳出if else-if結(jié)構(gòu)。
如果第一個if所帶的判斷條件不成立,也就是返回一個false,則繼續(xù)向下進(jìn)行判斷,依次的判斷每一個if所帶
的判斷條件,如果成立,就執(zhí)行該if所帶的大括號中的代碼,如果不成立,則繼續(xù)向下判斷,
如果每個if所帶的判斷條件都不成立,就看當(dāng)前這個if else-if結(jié)構(gòu)中是否存在else。
如果有else的話,則執(zhí)行else中所帶的代碼,如果沒有else,則整個 if-else if神馬都不做。
else可以省略。
案例:
根據(jù)上邊你就是會看出if else-if 在條件特別多的時候會導(dǎo)致代碼很長很不好看,這時我們會用另一個來替換:
switch-case
用來處理多條件的定值的判斷。
語法:
switch(變量或者表達(dá)式的值) { case 值1:要執(zhí)行的代碼; break; case 值2:要執(zhí)行的代碼; break; case 值3:要執(zhí)行的代碼; break; .......... default:要執(zhí)行的代碼; break; }
執(zhí)行過程:程序執(zhí)行到switch處,首先將括號中變量或者表達(dá)式的值計算出來,
然后拿著這個值依次跟每個case后面所帶的值進(jìn)行匹配,一旦匹配成功,則執(zhí)行
該case所帶的代碼,執(zhí)行完成后,遇到break。跳出switch-case結(jié)構(gòu)。
如果,跟每個case所帶的值都不匹配。就看當(dāng)前這個switch-case結(jié)構(gòu)中是否存在
default,如果有default,則執(zhí)行default中的語句,如果沒有default,則該switch-case結(jié)構(gòu)
什么都不做。
案例:
最后來個彩蛋:
break ,continue ,return 的區(qū)別及作用:
第一:break語句通常用在循環(huán)語句和開關(guān)語句中,當(dāng)break語句用于do-while、for、while循環(huán)語句中時,可使程序終止循環(huán)而執(zhí)行循環(huán)后面的語句, 通常break語句總是與if語句聯(lián)在一起,即滿足條件時便跳出循環(huán)。例如:注意:
1) break語句對if-else的條件語句不起作用。
2) 在多層循環(huán)中, 一個break語句只向外跳一層。
第二:continue語句的作用是跳過循環(huán)本中剩余的語句而強(qiáng)行執(zhí)行下一次循環(huán)。continue語句只用在for、while、do-while等循環(huán)體中,常與if條件語句一起使用,用來加速循環(huán)。其實就是continue跳過一次循環(huán)以及后面的語句,進(jìn)行下次循環(huán)。
第三: return語句是將函數(shù)的值返回主調(diào)函數(shù)。例如:
return 語句的一般形式為:
return 表達(dá)式
或者為:
return (表達(dá)式)
好了 , 本篇就到這里了,另本篇提供的案例只有截圖,沒有運(yùn)行的結(jié)果,請自行處理咯。希望能對初學(xué)者帶來幫助,更希望大神能帶帶我們,帶我們裝逼,帶我們飛。。。
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
.Net結(jié)構(gòu)型設(shè)計模式之組合模式(Composite)
這篇文章介紹了.Net結(jié)構(gòu)型設(shè)計模式之組合模式(Composite),文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05C#Web應(yīng)用程序入門經(jīng)典學(xué)習(xí)筆記之一
C#Web應(yīng)用程序入門經(jīng)典學(xué)習(xí)筆記之一...2006-08-08ASP.NET MVC把數(shù)據(jù)庫中枚舉項的數(shù)字轉(zhuǎn)換成文字
這篇文章介紹了ASP.NET MVC把數(shù)據(jù)庫中枚舉項的數(shù)字轉(zhuǎn)換成文字的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-10-10.Net?Core中使用MongoDB搭建集群與項目實戰(zhàn)
本文詳細(xì)講解了.Net?Core中使用MongoDB搭建集群與項目實戰(zhàn),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-02-02ASP.NET web.config 配置節(jié)點詳解
這篇文章主要介紹了ASP.NET web.config 節(jié)點的配置,講解的非常詳細(xì),需要的朋友可以參考下。2016-06-06