标签(label)
在Java中, 标签必须在循环之前使用, 一个循环之中嵌套另一个循环的开关, 从多重嵌套中continue或break.
语法
label:
@Test
public void test3 ( ) {
inner:
for ( int i = 0 ; i < 5 ; i++ ) {
if ( i == 3 ) {
break inner;
}
System . out. println ( i) ;
}
System . out. println ( "结尾" ) ;
}
注意: 标签只能在for循环上面,中间不要插入语句
因此,标签应放在循环语句前,之间不应有其他语句。
控制循环:
continue会退回最内层的循环开头, 并继续执行; 带标签的continue会到达标签的位置, 重新进入标签下面的循环; break会中断并跳出当前循环; 带标签的break会中断跳出标签下面的循环.
案例:
break 示例:
@Test
public void testBreakFor ( ) {
inner:
for ( int i = 0 ; i < 3 ; i++ ) {
for ( int j = 0 ; j < 3 ; j++ ) {
if ( i == 1 && j == 1 ) break inner;
System . out. println ( i + ", " + j) ;
}
}
System . out. println ( "结尾" ) ;
}
continue 示例:
@Test
public void test3 ( ) {
inner:
for ( int i = 0 ; i < 5 ; i++ ) {
if ( i == 3 ) {
break inner;
}
System . out. println ( i) ;
}
System . out. println ( "结尾" ) ;
}
另:
通常标签都像上文示例中一样,是单独写一行的。但这不是必须的,它也可以写在循环语句的首行开头。
inner: for ( int i = 0 ; i < 3 ; i++ ) { }
小结
使用标签的唯一理由是:跳出嵌套循环。 标签定义在任何语句前基本上都是合法的,但只有定义在循环语句前才可能是可用的。 标签名不必是唯一的,只要不在嵌套循环的内外层上定义相同标签即可。