您的位置:首页 > 其它

如何在多层循环中跳出循环呢?

2016-01-29 01:59 337 查看
C语言里有goto可以进行任意跳转,可是不论是在C还是在JAVA中goto都是不被提倡的,C语言有时候必须用goto来跳出外层循环,但是java中可以使用标号和break搭配进行外层循环跳出。这种标号在for、while、do..while都可以使用。

在for中进行使用:

outer:for(int i=1;i<5;i++)
{
inner:for(int j=1;j<6;j++)
{
System.out.println("i="+i);
break outer;
}
}//在for关键字前面设置标号,break后面跟着哪个标号就会跳出哪层循环,这里面break后面什么都不加则是默认跳出最内层循环


在while中进行使用

whilejump: while(x<=5)
{
System.out.println("x="+x);
x++;
System.out.println("x="+x);
break whilejump;
}


在do..while中进行使用:

dojump:do
{
System.out.println("y="+y);
y++;
System.out.println(y);
break dojump;
}
while(y<5);
其中的标号都需要放在关键字的前面。

除了用标号,我还发现其他程序员朋友有用变量的作用域特性进行外层循环跳转,例如以下两个语句:

for (int i = 0; i < 10; i++) {
boolean flag = false;
System.out.println("外部部===========" + i);
for (int j = 0; j < 5; j++) {
System.out.println("内部===========" + j);
if (j == 3) {
flag = true;
break;
}
}
if (flag) {
break;
}
}


for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
System.out.println(i + "||" + j);
if (i == 2 && j == 2) {
j = 5;
i = 5;
}
}
}


1、一般的break会中断并跳出当前循环

2、带标签的break会中断并跳出标签所指的循环
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: