java标签(label)用于标识代码的位置的符号。它通常与跳转语句(如 break 和 continue)结合使用,用于控制程序的流程。
在Java中,标签以标识符的形式出现,后面跟着一个冒号(:)。标签可以与循环语句(如 for、while、do-while)和条件语句(如 if、switch)一起使用。
以下是一些使用标签的常见用例:
1,跳出多层循环或提前结束if判断:通过在外部循环周围放置一个标签,可以在内部循环中使用 break 语句跳出外部循环。这在需要提前结束多层嵌套循环时非常有用。
//case 跳出多层循环
@Test
public void test1(){
outer:
for (int i = 0; i < 5; i++) {
System.out.println("i==" + i);
for (int j = 0; j < 5; j++) {
System.out.println("j==" + j);
if (j == 2) {
break outer;
}
}
}
System.out.println("end");
}
结果:
i==0
j==0
j==1
j==2
end
//case 提前结束if判断
@Test
public void test2() {
int i = 4;
outer:
if (true) {
System.out.println("into");
if (4 == i) {
break outer;
}
System.out.println("其他逻辑");
}
System.out.println("end");
}
结果:
into
end
2,继续下一次迭代:和continue 结合使用,可以跳过当前迭代,并继续下一次迭代。
@Test
public void test3() {
outer:
for (int i = 0; i < 2; i++) {
System.out.println("i==" + i);
for (int j = 0; j < 5; j++) {
System.out.println("j==" + j);
if (j == 1) {
continue outer;
}
}
}
System.out.println("end");
}
结果:
i==0
j==0
j==1
i==1
j==0
j==1
end
注:虽然带标签的break可以提供便利,但过度使用可能导致代码难以理解和维护。在简单的逻辑中,最好使用普通的break语句。