关于break语句如何结束多重循环的嵌套

在Java中的break语句功能大体上同c语言,

用于循环语句中,表示结束当前循环。

但是有时候在循环嵌套语句中,仅仅靠一

个break语句想实现是不够的。

例:

关于break语句如何结束多重循环的嵌套

如果想使sum在501时就直接输出,上述代码可以吗?

看看输出结果吧!

关于break语句如何结束多重循环的嵌套

为什么会这样呢?

因为break终止的只是最内层的循环,

当j++之后,里面的k++循环体仍然会再次执行。

那么,我们有没有办法使得sum在501时就输出呢?

答案是有的,需要用到一个很奇特的东西,叫做标号。

标号的使用方法:

标号名:

=====================================================

class BreakOuter
{
public static void main(String[] args)
{

int sum=0;
outer:for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
for(int k=0;k<10;k++){
sum++;
if(sum>500){
break outer;
}
}
}
}

System.out.println(sum);
}
}

在这里,标号outer就代表最外层循环,break outer;即代表结束整个大循环。

来看一下执行结果。

关于break语句如何结束多重循环的嵌套

sum大于500立即输出,完美解决。

上一篇:[LeetCode] Word Break II 拆分词句之二


下一篇:R for循环之break,next