public class test {
public static void main(String[] args) {
ok: //使用标记符号
for(int i = 0; i <10;i++)
{
for (int j = 0; j < 10; j++) {
System.out.println("i=" + i + ",j=" + j);
if(j==5)break ok;
}
}
}
}
下面是参考别人资料,比较深入的说明如何使用带有标记符号的contiune,break。
public class testbreak {
public void test() {
int i = 0;
// 外部标记
outer: do {
System.out.println("outer i is:" + i);
// 内部标记
inner: for (; i < 10; i++) {
System.out.println("inner i is: " + i);
if (i == 1) {
System.out.println("continue");
// 中断单前循环,进入下一循环
continue;
}
if (i == 2) {
System.out.println("continue outer");
// 注意此处i++,如果注释掉会死循环,因为执行完continue outer后,
// 不会触发for(; i < 10; i++)中的i++递增因子
i++;
// 中断单前循环,跳到outer标签处,执行do循环
continue outer;
}
if (i == 3) {
System.out.println("continue inner");
// 此处如果添加i++,会和for中的i++一起执行两次,
// i++;
// 中断单前循环,跳到inner 标签,执行接着的for循环
continue inner;
}
if (i == 4) {
System.out.println("break");
// 这里的i++不能注释,否则为死循环,
// 因为break和break+标签都不会触发for(; i < 10; i++)中的i++递增因子
i++;
// 退出内部循环for
break;
}
if (i == 7) {
System.out.println("break inner");
i++;
// 中断并跳出inner所指向的for循环,不过由于外层的do循环
// 程序会继续进入for循环
break inner;
}
if (i == 9) {
System.out.println("break outer");
// i++;
// 中断并跳出outer所指的do循环
break outer;
}
}
} while (true);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
testbreak bc = new testbreak();
bc.test();
}
}