手把手進(jìn)行C# for介紹與總結(jié)
C# for語(yǔ)句的格式為:
for(initializer;condition;iterator)embedded-statement
其中initializer,condition,iterator這三項(xiàng)都是可選項(xiàng)。initializer為循環(huán)控制變量做初始化,循環(huán)控制變量可以有一個(gè)或多個(gè)(用逗號(hào)隔開(kāi));conditon為循環(huán)控制條件,也可以有一個(gè)或多個(gè)語(yǔ)句;iterator按規(guī)律改變循環(huán)控制變量的值。
請(qǐng)注意,初始化、循環(huán)控制條件和循環(huán)控制都是可選的。如果忽略了條件,你就可能產(chǎn)生一個(gè)死循環(huán),要用跳轉(zhuǎn)語(yǔ)句(break或goto)才能退出。
- for(;;){
- break; //由于某些原因
- }
C# for語(yǔ)句執(zhí)行次序如下:
(1)按書(shū)寫(xiě)順序?qū)nitializer部分(如果有的話)執(zhí)行一遍,為循環(huán)控制變量賦初值;
(2)測(cè)試condition(如果有的話)中的條件是否滿足;
(3)若沒(méi)有conditon項(xiàng)或條件滿足,則執(zhí)行內(nèi)嵌語(yǔ)句一遍,按iterator改變循環(huán)控制變量的值,回到第二步執(zhí)行;
(4)若條件不滿足,則for循環(huán)終止。
下面的例子非常簡(jiǎn)單,打印數(shù)字從1到9,但它卻清楚地顯示出了for語(yǔ)句是怎樣工作的。
- for(int i=0;i<10;i++)
- Console.WriteLine(i);
C# for語(yǔ)句可以嵌套使用,幫助我們完成大量重復(fù)性、規(guī)律性的工作。
下面的例子用于打印楊輝三角形。
程序清單8-4:
- using System;class Test
- { public static void Main()
- { int[,] a=new int[5,5];
- a[0,0]=1;
- for(int i=1;i<=5;i++)
- {
- a[i,0]=1;
- a[i,i]=1;
- for(int j=1;j〈i;j++){
- a[i,j]=a[i-1,j-1]+a[i-1,j];
- } }
- for(int i=0;i〈5;i++)
- {
- for(int j=0;j〈i;j++)
- {
- Console.WriteLine("{0}",a[i][j]) } Console.WriteLine();
- } }}
運(yùn)行程序的結(jié)果為:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1還以求整數(shù)的階乘為例,代碼我們可以這樣寫(xiě):
- for(long y=1;x>0;x--)
- y*=x;
同樣,可以用break和continue語(yǔ)句,來(lái)和循環(huán)判斷語(yǔ)句中的邏輯表達(dá)式來(lái)配合使用,達(dá)到控制循環(huán)的目的。
仍然以打印數(shù)字為例,如果要求打印除7以外的0到9的數(shù)字,只要在for循環(huán)執(zhí)行到7時(shí),跳過(guò)打印語(yǔ)句就可以了。
- for(int i=0;i<10;i++){
- if(i==7) continue;
- Console.WriteLine(i);
- }
- }
【編輯推薦】