这将有助于您更好地理解它:
for(Object o : objects){//first loop
for(int j = 0; i < y; j++){//second loop
if(something_is_true)
stop second loop , continue first loop
}
}
我应该使用continue关键字吗??
答案 0 :(得分:9)
您还可以使用label
:
myLabel: for(Object o : objects){//first loop
for(int j = 0; i < y; j++){//second loop
if(something_is_true) {
continue myLabel;
}
}
//code that will be skipped if you continue to myLabel
//but will not be skipped if you 'break' inside inner loop.
}
答案 1 :(得分:3)
不,请使用&#39; break&#39;。
for(Object o : objects){//first loop
for(int j = 0; i < y; j++){//second loop
if(something_is_true)
break;
}
}
答案 2 :(得分:0)
没有。使用break
。这将使你脱离内循环,你将继续外循环。
for(Object o : objects){//first loop
for(int j = 0; i < y; j++){//second loop
if(something_is_true) break;
}
}
答案 3 :(得分:0)
对于第二个循环,您可以使用“while”而不是“for”:
for(Object o : objects){//first loop
int counter=0;
while(!something_is_true && counter<y){//second loop
counter++
if(something happens)
something_is_true=true;
}
}
答案 4 :(得分:0)
我认为这是一种更好的方法:
for(Object o : objects)
{
int j = 0
while(j < y && something_is_true)
{
do_whatever;
j++;
}
}
答案 5 :(得分:0)
来自Breaking out of nested loops in Java
您可以使用带有外部循环标签的break
。例如:
public class Test {
public static void main(String[] args) {
outerloop:
for (int i=0; i < 5; i++) {
for (int j=0; j < 5; j++) {
if (i * j > 6) {
System.out.println("Breaking");
break outerloop;
}
System.out.println(i + " " + j);
}
}
System.out.println("Done");
}
}
打印:
0 0
0 1
0 2
0 3
0 4
1 0
1 1
1 2
1 3
1 4
2 0
2 1
2 2
2 3
Breaking
Done
答案 6 :(得分:-1)
如果您的目标是退出第二个循环并继续第一个循环,则只需要调用break。不需要继续(甚至没有被称为)。