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。