JAVA 中 labeled break 语句

public class Demo

public static void main(String []args)

int i = 0, j = 5; 
tp: for (;;)

i++; 
cc:for(;;)
{
if(i > j--)
break tp; 
}

System.out.println("i = " + i + ", j = "+ j);

}

结果:i=1,j=-1

       代码中tp:for(;;)可以分为两部分来看,“tp:”相当于一个标签(lable)与之后break tp;相组合使用。该组合的功能即为了跳出多重循环,当运行到break tp;时,程序自动跳出标签tp所标记的for循环,继续执行该for循环之后的代码(不再执行该循环)。for(;;)为简单的for循环,但其中为三个空语句即死循环。

       该代码还有一个隐含的陷阱  if(i > j--)   由于自减在变量j之后所以先进性逻辑判断再进行减一操作,所以做后的j值不是0,而是1。 

猜你喜欢

转载自blog.csdn.net/wjd_12345/article/details/80834969