本帖最后由 李志群 于 2012-7-12 22:40 编辑
程序思想:是for循环嵌套的,和++ 自增 —-自减这一块
第一步:首先i=0 进入外for循环 循环第一句判断for( i=0;条件判断(判断为真) ; ) 继续执行 i++ 执行内循环。
for(j= 5;条件判断(判断为真);)继续执行 判断if(i>j--) i=1 j=5 为false break 跳到外循环,
第二步: 继续执行外for循环i被初始话0 继续执行 循环第一句判断for( i=0;条件判断(判断为真) ; ) 继续执行 i++ 执行内循环。
for(j= 4;条件判断(判断为真);)继续执行 判断if(i>j--) i=1(因为外循环i++l所以为1) j=4(上一圈 j-- 所以为4) 这次判断的是1>4吗为false break 跳到外循环,继续执行外循环
第三步继续执行外for循环i被初始话0 继续执行 循环第一句判断for( i=0;条件判断(判断为真) ; ) 继续执行 i++ 执行内循环。
for(j= 3;条件判断(判断为真);)继续执行 判断if(i>j--) i=1(因为外循环i++l所以为1) j=3(上一圈 j-- 所以为3) 这次判断的是1>3吗为false break 跳到外循环,继续执行外循环
第四步:继续执行外for循环i被初始话0 继续执行 循环第一句判断for( i=0;条件判断(判断为真) ; ) 继续执行 i++ 执行内循环。
for(j= 2;条件判断(判断为真);)继续执行 判断if(i>j--) i=1(因为外循环i++l所以为1) j=2(上一圈 j-- 所以为2) 这次判断的是1>2吗为false break 跳到外循环,继续执行外循环
第五步继续执行外for循环i被初始话0 继续执行 循环第一句判断for( i=0;条件判断(判断为真) ; ) 继续执行 i++ 执行内循环。
for(j= 1;条件判断(判断为真);)继续执行 判断if(i>j--) i=1(因为外循环i++l所以为1) j=1(上一圈 j-- 所以为1) 这次判断的是1>1吗为false break 跳到外循环,继续执行外循环
关键在于第六部:
第六部:继续执行外for循环i被初始话0 继续执行 循环第一句判断for( i=0;条件判断(判断为真) ; ) 继续执行 i++ 执行内循环。
for(j= 0;条件判断(判断为真);)继续执行 判断if(i>j--) i=1(因为外循环i++l所以为1) j=0(上一圈 j-- 所以为0) 这次判断的是1>0 y-- 为 -1吗为true break 跳出循环体,
输出结果是x=1 y=-1
public class Demo
{
public static void main(String []args)
{
int i = 0, j = 5;
tp: for (;;)
{
i++;
for(;;)
{
if(i > j--)
break tp;
}
}
System.out.println("i = " + i + ", j = "+ j); 输出结果 x=1 y=-1
}
} 输出结果是1和-1
|