for 循环
本章介绍的最后一类循环是 for 循环
。这类循环可以执行指定的次数,并维护它自己的计数器。要定义 for 循环
,需要下列信息:
• 初始化计数器变量的一个起始值。
• 继续循环的条件,它应涉及计数器变量。
• 在每次循环的最后,对计数器变量执行一个操作。
例如,如果要在循环中,使计数器从 1 递增到 10,递增量为 1, 则起始值为 1,条件是计数器小于或等于 10,在每次循环的最后,要执行的操作是给计数器加 1。
这些信息必须放在 for 循环
的结构中,如下所示:
for (<initializeation>; <condition>; <operation>)
{
<code to loop>
}
它的工作方式与下述 while 循环
完全相同:
<initialization>
while (<condition>)
{
<code to loop>
<operation>
}
但 for 循环
的格式使代码更便于阅读,因为其语法是在一个地方包括循环的全部规则,而不是把规则放在代码不同地方的几个语句中。
前面使用 do
和 while 循环
输出了从 1~10 的数字。下面看看如何使用 for 循环
完成这个任务:
int i;
for (i = 1; i <= 10; ++i)
{
Console.WriteLine("{0}", i);
}
计数器变量是一个整数 i
,它的初始值是 1,在每次循环的最后递增 1。在每次循环过程中,把 i
的值写到控制台上。
注意 ⚠️,当 i
的值为11时,将执行循环后面的代码。这是因为在 i
等于 10 的循环末尾,i
会递增为 11。这是在测试条件 i <= 10
之前发生的,此时循环结束。与 while 循环
一样,在第一次执行前,只在条件测定为 true
时才执行 for 循环
,所以可能根本就不会执行循环中的代码。
最后要注意的是,可将计数器变量声明为 for 语句
的一部分,重新编写上述代码,如下所示:
for (int i = 1; i <= 10; ++i)
{
Console.WriteLine("{0}", i);
}
但如果这么做,就不能在循环外部使用变量 i
(参见第6章中的 “变量作用域”一节)。