在我们探讨过的循环和流程控制结构中,其中一些在符合(或不符合)某种条件时会自动退出,另外一些则不然。C#语言定义了一系列跳出语句(jump statement),用来把程序执行导向另外的语句。本节要讨论的两种跳出语句是break和continue。另一种跳出语句return,通常用来退出一个方法。第4章我们才会讨论return语句。
本章前面的部分已经可以看到break语句与switch语句联用的情形。break语句也可以用来中止do、for或while循环。循环执行过程中,一旦遇到break语句,循环就即刻中止,程序执行直接转到循环或流程控制结构后面的代码行。
//循环本应执行4次……
for (int j = 1; j<=4; j++) {
//……但是,当j=3时,后面的if测试通过,
//break语句执行,跳出循环。
if (j==3) break;
//如果if测试失败,则会跳过break语句,打印j的值,继续循环
Console.WriteLine(j);
}
//break语句如果执行,就立刻把我们带到循环后面的代码行。
Console.WriteLine(“循环结束”);
上例执行结果如下:
1
2
loop finished
与break语句不同,continue语句用于退出循环中的当前执行体,而不结束整个循环。continue语句把程序执行返回到循环顶部,且不中断已经在执行中的循环体。
//循环本应执行4次……
for (int j = 1; j<= 4; j++) {
//……但是,当j=3时,后面的if语句通过测试
//跳到循环开始处,j递增到4……
If (j == 3) continue;
//……下面的代码行在j=3时不被执行
//但在j=1、2或4时会被执行
Console.WriteLine(j)
}
Console.WriteLine(“循环结束”);
执行结果如下:
1
2
4
loop fiaished