C# for 循環(huán)

在這里,您將學(xué)習(xí)如何使用 for 循環(huán),for循環(huán)的結(jié)構(gòu),嵌套的for循環(huán)多次執(zhí)行語句或代碼塊,以及如何退出for循環(huán)。

for 關(guān)鍵字表示C#中的循環(huán)。for 循環(huán)反復(fù)執(zhí)行語句塊,直到指定的條件返回false。

語法:

for (initializer; condition; iterator)
{    
   //代碼塊 
}

for循環(huán)包含以下三個可選部分,用分號隔開:

Initializer: 用于初始化一個變量,該變量將是 for 循環(huán)的局部變量,并且不能在循環(huán)外部訪問。它也可以是零個或多個賦值語句、方法調(diào)用、增量或減量表達(dá)式,例如++i或i++,以及await表達(dá)式。

Condition:條件是一個布爾表達(dá)式,它將返回true或false。如果表達(dá)式的計算結(jié)果為true,則它將再次執(zhí)行循環(huán);否則,將退出循環(huán)。

Iterator:迭代器定義循環(huán)變量的增量或遞減。

以下for循環(huán)執(zhí)行一個代碼塊10次。

for(int i = 0; i < 10; i++)
{
    Console.WriteLine("i的值: {0}", i);
}

試試看輸出:

i的值: 0
i的值: 1
i的值: 2
i的值: 3
i的值: 4
i的值: 5
i的值: 6
i的值: 7
i的值: 8
i的值: 9

在上面的實例中,int i = 0是一個初始化式,我們定義了一個 int 變量 i 并用0初始化它。第二部分是條件表達(dá)式 i < 10,如果該條件返回 true,那么它將執(zhí)行一個代碼塊。在執(zhí)行代碼塊之后,它將轉(zhuǎn)到第三部分迭代器。i+ + 是一個增量語句,它將循環(huán)變量 i 的值增加1。現(xiàn)在,它將再次檢查條件表達(dá)式,并重復(fù)相同的操作,直到條件表達(dá)式返回 false。下圖說明了 for 循環(huán)的執(zhí)行步驟。

下圖說明了 for 循環(huán)的執(zhí)行步驟。

對于循環(huán)

for循環(huán)執(zhí)行步驟

如果一個代碼塊僅包含一個語句,則無需將其包裝在大括號 { } 內(nèi),如下所示。

 示例:for循環(huán)

for(int i = 0; i < 10; i++){
  Console.WriteLine("i 的值: {0}", i);
}

Initializer,condition 和 Iterator部分是可選的。您可以在for循環(huán)之前初始化變量,并且可以在代碼塊內(nèi)定義條件和迭代器,如下所示。

 示例:for循環(huán)C#

int i = 0;

for(;;)
{
    if (i < 10)
    {
      Console.WriteLine("i 的值: {0}", i);
      i++;
    }else{
       break;
    }
}
輸出:
i 的值: 0
i 的值: 1
i 的值: 2
i 的值: 3
i 的值: 4
i 的值: 5
i 的值: 6
i 的值: 7
i 的值: 8
i 的值: 9

 由于這三個部分在for循環(huán)中都是可選的,因此在定義條件和迭代器時要小心。否則,它將是一個無限循環(huán),永遠(yuǎn)不會結(jié)束循環(huán)。

for ( ; ; )
{
    Console.Write(1);
}
輸出:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ....

for循環(huán)的控制變量可以是任何數(shù)字?jǐn)?shù)據(jù)類型,例如double,decimal等。

for (double d = 1.01D; d < 1.10; d+= 0.01D)
{
    Console.WriteLine("i 的值: {0}", d);
}
輸出:
i 的值: 1.01
i 的值: 1.02
i 的值: 1.03
i 的值: 1.04
i 的值: 1.05
i 的值: 1.06
i 的值: 1.07
i 的值: 1.08
i 的值: 1.09

for 循環(huán)中的步長部分可以增加或減少變量的值。

for(int i = 10; i > 0; i--)
{
    Console.WriteLine("i 的值: {0}", i);
}
輸出:
i 的值: 10
i 的值: 9
i 的值: 8
i 的值: 7
i 的值: 6
i 的值: 5
i 的值: 4
i 的值: 3
i 的值: 2
i 的值: 1

退出for循環(huán)

您也可以使用break關(guān)鍵字從for循環(huán)中退出。

for (int i = 0; i < 10; i++)
{
    if( i == 5 )
        break;

    Console.WriteLine("i 的值: {0}", i);
}
輸出:
i 的值: 0
i 的值: 1
i 的值: 2
i 的值: 3
i 的值: 4

多個表達(dá)式

for循環(huán)還可以包括多個用逗號分隔的初始值設(shè)定項和迭代器語句,如下所示。

for (int i = 0, j = 0; i+j < 5; i++, j++)
{
    Console.WriteLine("i 的值: {0}, J: {1} ", i,j);
}
輸出:
i 的值: 0, J: 0 
i 的值: 1, J: 1 
i 的值: 2, J: 2

for循環(huán)也可以包含語句作為初始值設(shè)定項和迭代器。

int i = 0, j = 5;
for (Console.WriteLine($"初始化器: i={i}, j={j}"); 
    i++ < j--; 
    Console.WriteLine($"迭代器: i={i}, j={j}"))
    {
    }

輸出:

初始化器:i = 0,j = 5
迭代器:i = 1,j = 4  
迭代器:i = 2,j = 3  
迭代器:i = 3,j = 2

嵌套循環(huán)

C#在另一個for循環(huán)內(nèi)允許一個for循環(huán)。

for (int i = 0; i < 2; i++)
{
    for(int j =i; j < 4; j++){
       Console.WriteLine("i的值: {0}, J: {1} ", i,j);
    }
        
}
輸出:
i的值:0,J:0 
i的值:0,J:1  
i的值:0,J:2  
i的值:0,J:3  
i的值:1,J:1  
i的值:1 ,J:2  
i的值:1,J:3
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清