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();
}
}