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