您的位置:首页 > 产品设计 > UI/UE

break label和continue label

2015-07-22 20:44 597 查看
@Test
public void continueLbaelTest() {
label0:
System.out.println("label1");
label1:
for (int i = 0; i < 4; i++) {
System.out.println("label2 ");
label2:
for (int j = 0; j < 4; j++) {
System.out.println("label3 ");
label3:
for (int k = 0; k < 4; k++) {
System.out.println("label4 ");
label4:
if (j == k) {
continue label2;
}
System.out.println("i = " + i + " , j = " + j + " , k = " + k);
}
}
}
}

@Test
public void breakLabelTest(){
label0:
System.out.println("label1");
label1:
for (int i = 0; i < 4; i++) {
System.out.println("label2 ");
label2:
for (int j = 0; j < 4; j++) {
System.out.println("label3 ");
label3:
for (int k = 0; k < 4; k++) {
System.out.println("label4 ");
label4:
if (j == k) {
break label4;
}
System.out.println("i = " + i + " , j = " + j + " , k = " + k);
}
}
}

}


对于continue来说,label只能位于每条循环语句之前,且紧挨着。例如:continueLbaelTest()中的label1、label2、label3都Ok,但是label0和label4是违背语法的。

对于break来说,[b]label位于每条循环语句之前,且紧挨着,但使用起来比continue宽松一些。例如:breakLbaelTest()中的label1、label2、label3、label4都Ok,但是label0是违背语法的。且如果使用break
label4; 那么等价于 注释掉break label4;语句。
[/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: