java中的标签类似于C语言中的goto语句,常与continue和break进行应用。
continue和break不同之处在于continue是跳过后面的代码执行下一个循环,而break则是跳出循环。
java中标签不是很常用,如果用到的话需要注意以下几点:
- 使用在嵌套循环中,其他的地方可以用,但没有作用;
- 嵌套的名称可以不唯一,只要同一个嵌套的循环里面,内外的标签不一样即可。
continue的例子,break的类似:
outer:
for (int i = 1; i < 10; i++) {
i = (int) (Math.random() * 15);
System.out.println(" i " + i);
for (int j = 0; j < 5; j++) {
j = (int) (Math.random() * 6);
System.out.println(" j " + j);
if (j == 3)
continue outer;
}
}
相同label名称的例子:
public static void main(String[] args) {
outer: System.out.println("123");
outer:
for (int i = 1; i < 10; i++) {
i = (int) (Math.random() * 15);
System.out.println(" i " + i);
for (int j = 0; j < 5; j++) {
j = (int) (Math.random() * 6);
System.out.println(" j " + j);
if (j == 3)
continue outer;
}
}
}
运行结果如下:
123
i 5
j 2
j 5
i 1
j 5
i 14
j 3