7.6.3 for循环

for语句一般用于循环过程,在循环开始时需要初始化,然后开始循环执行,当其中的布尔表达式返回false时退出,否则会造成死循环。


for循环的语法为:

for(变量初始化;布尔表达式;迭代表达式){

//语句或语句块

}


其中,“变量初始化”、“布尔表达式”、“迭代表达式”这三项都是可选项。“变量初始化”为循环控制变量做初始化,循环控制变量可以有一个或多个(用逗号隔开,这意味着控制变量的类型是一样的);“布尔表达式”为循环控制条件,也可以有一个或多个语句;“迭代表达式”按规律改变循环控制变量的值,例如可以递增或者递减,如图7-8所示。

7.6.3 for循环 - 图1

图 7-8 for循环

注意,“变量初始化”、“布尔表达式”和“迭代表达式”都是可选的。如果忽略了条件,就可能产生一个死循环,要用跳转语句(break、return或goto)才能退出。如代码清单7-12所示。

代码清单7-12 省略了“变量初始化”、“布尔表达式”和“迭代表达式”的for循环


1 using System;

2

3 namespace ProgrammingCSharp4

4{

5 public class StatementSample

6{

7 static void Main()

8{

9 int i=0;

10 for(;)

11{

12 Console.WriteLine(i++);

13 if(i>6)

14{

15 break;

16}

17}

18}

19}

20}


如代码清单7-12所示,第10行的for循环省略了“变量初始化”、“布尔表达式”和“迭代表达式”,这就造成了一个没有出口的循环,即常说的死循环。为避免这种情况,引入了变量i,通过i的自增以及当i值大于6的时候,通过break语句让循环终止,从而避免了死循环的发生。

上述代码输出如下:


0

1

2

3

4

5

6


接下来,我们来看一个标准的for循环的写法,如代码清单7-13所示:

代码清单7-13 标准的for循环写法


1 using System;

2

3 namespace ProgrammingCSharp4

4{

5 public class StatementSample

6{

7 static void Main()

8{

9 for(int i=0;i<10;i++)

10{

11 Console.WriteLine(i);

12}

13}

14}

15}


输出如下:


0

1

2

3

4

5

6

7

8

9