.NET基礎 一步步 一幕幕[迴圈、邏輯語句塊]

來源:互聯網
上載者:User

標籤:沒有   res   targe   執行   ret   多條件   簡單   ide   pst   

 

迴圈、邏輯語句塊

 

好久不寫部落格了,斷更了好幾天了,從上周五到今天,從北京到上海,跨越了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 (運算式)

 

好了 , 本篇就到這裡了,另本篇提供的案例只有,沒有啟動並執行結果,請自行處理咯。希望能對初學者帶來協助,更希望大神能帶帶我們,帶我們裝逼,帶我們飛。。。

最後打個小廣告:QQ群: .NET 一步步一幕幕   群號:590170361 (加群備忘:部落格園看到的)

.NET基礎 一步步 一幕幕[迴圈、邏輯語句塊]

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.