CodeGym /课程 /C# SELF /for循环:入门和使用小技巧

for循环:入门和使用小技巧

C# SELF
第 4 级, 课程 2
可用

1. 入门

想象一下,你有个任务:在屏幕上输出“你好!”十次。当然,你可以写十行Console.WriteLine("你好!");——不过你现在已经会用while循环了,这事儿轻松搞定。

不过还有一种循环——for,它能把需要的操作重复指定次数。而且还能自己计数!

来看个典型例子:

for (int i = 0; i < 10; i++)
{
    Console.WriteLine("你好!");
}
经典的 for循环——输出"你好!"十次

这段代码干嘛的?它会在屏幕上输出“你好!”正好10次。没有复制粘贴,也不用手酸。

2. for循环的语法

for循环有三个主要部分,写在for关键字后面的圆括号里:

for (初始化; 条件; 变化)
{
    // 循环体
}
for循环的通用语法

我们来详细拆解一下每个部分:

  • 初始化——通常是创建一个计数变量,用来记录循环次数(int i = 0)。
  • 条件——每次循环前都会检查。如果为真,就执行循环体。如果为假,循环结束。例如i < 10。
  • 变化——每次循环后执行的操作。通常是让计数器加一或减一(i++)。

可以画个流程图:

3. for和while的对比

也许你会更明白,如果我说for其实就是while循环的另一种写法。

我们之前有个while循环:

int i = 0;					// 循环变量初始化
while(i < 10)				// 检查循环继续的条件
{
    Console.WriteLine(i); 	// 有用的操作(循环体)
    i++;					// 计数器加一
}

我们可以把它写成for循环,只要把控制循环逻辑的操作都放到一起:

for (int i = 0; i < 10; i++)  // 初始化; 检查条件; 计数器加一
{
    Console.WriteLine(i);		// 有用的操作(循环体)
}

两个循环的执行步骤:

  1. 初始化int i = 0;,循环前只执行一次。
  2. 然后检查条件i <= 10
  3. 然后执行循环体Console.WriteLine(i);
  4. 然后计数器加一i++
  5. 然后回到第2步。

4. for循环的使用例子

最简单的例子

我们来输出1到5:

for (int i = 1; i <= 5; i++)
{
    Console.WriteLine(i);
}

输出:

1
2
3
4
5

注意:如果你写的是i < 5,最后只会输出到4。

倒计时

想体验下宇航员的感觉吗?来个倒计时!

for (int i = 5; i > 0; i--)
{
    Console.WriteLine(i);
}
Console.WriteLine("出发!");

输出:

5
4
3
2
1
出发!

循环步长不为1

计数器不一定只能加1,也可以加别的数:

for (int i = 0; i <= 10; i += 2)
{
    Console.WriteLine(i);
}
// 输出:0 2 4 6 8 10

5. for循环的变体

循环里有多个变量

有时候同时跟踪两个变量很方便。比如,我们把数字从左到右、右到左一起输出:

for (int left = 1, right = 10; left <= 10; left++, right--)
{
    Console.WriteLine($"{left}  {right}");
}

输出:

1  10
2  9
3  8
...
10  1

无限for循环

如果情况特别硬核(比如你的项目是IT里的永动机),可以写个“永远”的for循环:

for (;;) // 没有初始化、没有条件、没有变化
{
    Console.WriteLine("工作,工作,再工作!");
}
无限 for循环

注意:这种循环只有在循环体里有break、return或throw时才会结束。没事别乱用,不然可能会召唤出古老恶魔——“进程无响应”。

2
任务
C# SELF, 第 4 级, 课程 2
已锁定
2到20的偶数
2到20的偶数
2
任务
C# SELF, 第 4 级, 课程 2
已锁定
倒计时并显示消息
倒计时并显示消息
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION