本帖最后由 spiritleak 于 2012-1-21 17:31 编辑
class Demo1
{
public static void main(String []args)
{
int i = 0, j = 5;
tp: for (;;)//tp: 标号 for (;;) 无限循环
{
i++; //i++ 后i=1
for(;;)
{
if(i > j--) //if(1>5--) 就执行 break tp;跳出外循环 这时j=4 因为-- 优先级比>高 所以先运算 继续内循环
break tp;
}
}
System.out.println("i = " + i + ", j = "+ j); //i=1,j=-1;
}
}
综上分析 当内循环 j--到0的时候就应该执行到 break tp;(1>0)
为什么结果是i=1 j=-1呢? |