2.8 循环控制
开发者有两种方法可以对循环进行控制:一种方法是控制循环变量,让循环变量变成某个值时结束循环;另一种方法就是使用控制循环的关键字。控制循环的关键字有两个:即break和continue。这两个关键字可以实现不同的效果,break是结束循环,也可以称为跳出循环;continue是直接执行下一次循环,也就是跳过本次循环。
2.8.1 break语句
break关键字可以提前结束switch语句。在循环结构中,同样也可用break语句提前结束循环。
如果遇到循环嵌套的情况,break关键字只能结束当前正在执行的、包含此break的内层的循环,外层循环不会受此影响。
内层循环中使用了一个if语句,当j等于4时执行break,这样就停止了内层循环,j值最大值到3为止,不会出现4以上的值。但是外层的循环没有受任何影响。
如果想要让break结束外层循环,需要给外层循环添加标签。给循环添加标签,并使用break结束该循环的语法如下:
标签名: 循环体{
break 标签名;
}
标签名:任意标识符,定义在循环体之前。
循环体:任意循环语句。
break标签名:break结束指定的循环,此循环的标签名必须与break的标签名一致。
给break添加标签之后,就可以结束指定的循环,该循环可以是内层循环,也可以是外层循环。
2.8.2 continue 语句
continue语句是针对break语句的补充。continue不是立即结束循环体,而是停止执行本次循环内容,直接执行下一次的循环内容。for语句遇到continue后,会直接进入计算表达式3的步骤。while语句和do…while循环遇到continue后,会直接回到校验布尔表达式的步骤。
与break语句一样,continue也支持标签功能,可以让continue跳过指定的循环。continue使用标签的语法如下:
标签名: 循环体{
continue 标签名;
}
标签名:任意标识符,定义在循环体之前。
循环体:任意循环语句。
continue标签名:continue跳出指定的循环体,此循环体的标签名必须与continue的标签名一致。