java中的标号是用于的continue和break语句的,请看下面的程序:
class xxx {
outer:
for(;;)
{
inner:
for(;;)
{
xxxx;
xxxxx;
continue inner;
}
//break inner;
break outer;
}
}
这段程序中有两层循环,外面的一层叫outer,里面的一层叫inner,外面一层循环有一个break outer语句,作用并不是跳到outer标示的地方,而是跳出outer标识的循环语句,里面的continue inner作用显然就是进行inner标示的循环语句的下一次重复。需要注意的是,不能在外面的循环中对里面的标号进行操作,如//所注释的一条语句是错误的。
java中反对使用goto语句,所以没有该语句.但是有标签一说,利用标签加break/continue可以更加安全得实现跳转
标签用后面跟冒号的标识符来表示,标签直接放在循环语句之前.如:
outer: while(true){
inner: while(true){
continue outer;
break outer;
}
}
以上代码声明了outer和inner两个标签.并且可以通过continue/break+标签的方式来完成跳转
跳转说明:
(1)一般的continue不往下执行循环内的语句,直接返回最内层的循环开头,并继续执行
(2)一般的break不往下执行循环内的语句,直接中断并退出最内层的循环.
(3)带标签的continue不往下执行语句,直接返回标签所在处的循环开头,并继续执行该循环
(4)带标签的break不往下执行语句,直接中断并退出标签所在处的循环.