public class Demo
{
public static void main(String []args)
{
int i = 0, j = 5;
tp: for (;;)
{
i++; //执行第一次后i变成1
for(;;) //然后到for() 循环里面去执行
{
if(i > j--)//这里的条件判断完为FALSE,怎么还会执行下面的break? 判断条件i 这时是1,这时j是5,不符合条件,没有break,但是还在循环体里面继续执行for()循环,判断i是否大于J,这时是4,在循环。知道i>j 时 break,这时j=0,但是j 还得执行J--,所以最后输出结果是i = 1, j = -1
break tp;
}
}
System.out.println("i = " + i + ", j = "+ j);
}
}
注意--i 是先执行i=i-1,然后在进行操作,i-- 是先进行操作然后在执行i=i-1; |