1. 程式人生 > 其它 >c#入門-for迴圈

c#入門-for迴圈

技術標籤:c#入門

如果一個迴圈和的條件和數字有關,用for迴圈會更為簡便

for (int i = 0; i < 100; i++)
{Console.WriteLine(i);}
for (int i = 0; i < 100; i++)
{Console.WriteLine(i);}
int i = -1;
while (++i < 100)
{ Console.WriteLine(i); }
i = -1;
while (++i < 100)
{ Console.WriteLine(i); }

這是輸出1-100兩次的for迴圈和等效while迴圈
可以看出for迴圈的優勢:

  • 計數用的臨時變數有專門的宣告地方
  • i++有專門的地方寫
  • 計數變數的作用域僅在迴圈內

換言之,如果一次迴圈不需要臨時變數,while才更適合


for的執行過程
先執行括號中的第一部分,宣告變數
然後是括號中的第二部分,判斷條件
然後是迴圈體
最後是括號中的第三部分。

for的結構
for的括號中有兩個分號,他們是必須有的
在這裡插入圖片描述
第一部分 (宣告部分) 如果變數是已經有的,不需要再聲明瞭,可以不寫。
如果需要宣告多個變數,用逗號隔開
在這裡插入圖片描述
但是不能宣告不同型別的變數。

第三部分 (迭代部分) 是迴圈體結束時執行的東西,也可以寫在迴圈體裡面
在這裡插入圖片描述
或者程式碼塊也能寫在上面
在這裡插入圖片描述
在這裡插入圖片描述

當然這種做法是不推薦的。

而中間的 條件部分

也可以不寫倒是比較神奇。不寫的情況會當作裡面有個true形成死迴圈


陣列和for迴圈

當使用for迴圈來遍歷陣列時,需要知道陣列的元素個數
元素的個數可以用 .Length獲得

int[] a = new int[6];
int i = a.Length;
Console.WriteLine(i);

這個東西一般直接寫在for的條件裡面

int[] a = new int[6];
for (int i = 0; i < a.Length; i++)
	a[i] = i;
for (int i = 0; i < a.Length; i++)
	Console.WriteLine(a[
i]);

仔細觀察,for迴圈從0開始,當i和陣列長度相等時就結束迴圈
不多不少剛剛好遍歷陣列而且不越界


對於陣列或已經知道次數的更適合用for迴圈

不知道次數的舉個例子:
使用者錄入考試成績,小於0或大於100是無效的,重新錄
你也不知道使用者會作死作到什麼時候