C# for循环

在某些情况下,我们可能需要重复执行某些代码,这时就需要用到 C# 中的循环语句,C# 中支持 for 循环、foreach 循环、while 循环和 do while 循环等循环语句,本节我们主要来介绍一下 C# 中的 for 循环。

for循环

使用 for 循环可以重复执行一部分代码,而且重复的次数是可以设定的,其语法格式如下所示:

for(初始化语句; 判断条件; 迭代器){ 
    // 循环主体(要执行的代码)

for 循环语句的执行流程如下所示:
  • 首先执行初始化语句(通常是一个变量),并且只执行一次,在某些情况下初始化语句可以省略,只保留后面的分号即可;
  • 接下来进行条件判断,如果为 true,则执行循环主体,如果为假,则跳出 for 循环,执行 for 循环以外的代码;
  • 循环主体执行完成后,更新迭代器的值(增加或减少),然后再进行条件判断,如果为真则再次执行循环主体,重复执行此步骤,直至判断条件为假,跳出循环。

for 循环的执行流程如下图所示:

for 循环执行流程
图:for 循环执行流程

【示例】使用 for 循环输出 0 ~ 9 之间的数:
using System;

namespace c.biancheng.net
{
    class Demo
    {
        static void Main(string[] args){
            for(int i = 1; i <= 9; i++){
                Console.Write("{0} ",i);
            }
        }
    }
}
运行结果如下:

1 2 3 4 5 6 7 8 9

嵌套循环

在 C# 中,循环语句还可以嵌套使用,也就是说我们可以在一个 for 循环内再使用一个或多个 for 循环。

【示例】使用 for 循环输出一个九九乘法表:
using System;

namespace c.biancheng.net
{
    class Demo
    {
        static void Main(string[] args){
            for(int i = 1; i <= 9; i++){
                for(int j = 1; j <= i; j++){
                    Console.Write("{0} x {1} = {2}  ", j, i, i*j);
                }
                Console.WriteLine();
            }
        }
    }
}
运行结果如下:

1 x 1 = 1
1 x 2 = 2  2 x 2 = 4
1 x 3 = 3  2 x 3 = 6  3 x 3 = 9
1 x 4 = 4  2 x 4 = 8  3 x 4 = 12  4 x 4 = 16
1 x 5 = 5  2 x 5 = 10  3 x 5 = 15  4 x 5 = 20  5 x 5 = 25
1 x 6 = 6  2 x 6 = 12  3 x 6 = 18  4 x 6 = 24  5 x 6 = 30  6 x 6 = 36
1 x 7 = 7  2 x 7 = 14  3 x 7 = 21  4 x 7 = 28  5 x 7 = 35  6 x 7 = 42  7 x 7 = 49
1 x 8 = 8  2 x 8 = 16  3 x 8 = 24  4 x 8 = 32  5 x 8 = 40  6 x 8 = 48  7 x 8 = 56  8 x 8 = 64
1 x 9 = 9  2 x 9 = 18  3 x 9 = 27  4 x 9 = 36  5 x 9 = 45  6 x 9 = 54  7 x 9 = 63  8 x 9 = 72  9 x 9 = 81

无限循环

for 循环中,如果判断条件永远不会为假,那么循环将变成无限循环(也叫死循环),我们在定义循环语句时应尽量避免这种情况的出现。示例代码如下:
using System;
namespace c.biancheng.net
{
    class Demo
    {
        static void Main(string[] args){
            for (; ;) 
           { 
                Console.WriteLine("编程帮!"); 
           }   
        }
    }
}
运行上面的代码会在控制台一直输出“编程帮!”,如果不手动终止程序那么程序将会一直执行下去。