带有标签的for循环
在嵌套for循环内,如果使用continue
或者break
,只能结束当前或终止内层循环,或者说continue
或者break
所在的循环,这就导致有时候想结束外层循环却结束不了
for (int i = 0; i < 5; i++) {
System.out.print("i=" + i);
for (int j = 0; j < 5; j++) {
if (j == 2) {
break;
}
System.out.print(" j=" + j);
}
System.out.println();
}
//i=0 j=0 j=1
//i=1 j=0 j=1
//i=2 j=0 j=1
//i=3 j=0 j=1
//i=4 j=0 j=1
可以看到
break
只对j那层循环有用,对i那层没用。若想使i与j都止循环,就要使用带标签的for循环
a:for (int i = 0; i < 5; i++) {
System.out.print("i=" + i);
for (int j = 0; j < 5; j++) {
if (j == 2) {
break a;
}
System.out.print(" j=" + j);
}
System.out.println();
}
//i=0 j=0 j=1
此时当j为2时,i与j的循环一起终止