标签 是后面跟有冒号的标识符,格式如下:
label :
java中通过break与continue关键词可以完成类似于跳转的操作,其实现机制便是标签。
虽然很少有人使用,但是其有自身的适用场景:多层嵌套,跳转到指定循环体中。
练习示例:
public static void main(String[] args) { int i = 0; outer:
while(true){
System.out.println("this is the start of outer loop!");
while(true){
i++;
if(i==1){
System.out.println("i="+i);
continue;
}
if(i==3){
System.out.println("i="+i);
break;
}
if(i==5){
System.out.println("i="+i);
continue outer;
}
if(i==7){
System.out.println("i="+i);
break outer;
}
}
System.out.println("this is the end of outer loop!");
}
}
输出结果:
this is the start of outer loop! //outer循环第一次开始
i=1
i=3 //continue继续下次当前循环
this is the end of outer loop! //break跳出内部循环,执行到外部循环的底部
this is the start of outer loop! //继续第二次外部循环
i=5
this is the start of outer loop! //i=5时,continue+标签名称,直接跳出内部循环,去执行第三次外部循环,再次打印外部循环开始部分
i=7 //此时,break+标签名称,直接跳出外部循环,执行结束。
确实,标签的使用很少见,目前个人接触的项目中也并没有出现,但是对于复杂逻辑判断,设计多层循环嵌套时,不失为循环跳转的一种解决方案。