Java循环中使用标签
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不往下执行语句,直接中断并退出标签所在处的循环.