黑马程序员技术交流社区
标题:
对于这个程序 很多人都在问 今天我和大家分享下 希望多.....
[打印本页]
作者:
李志群
时间:
2012-7-12 22:00
标题:
对于这个程序 很多人都在问 今天我和大家分享下 希望多.....
本帖最后由 李志群 于 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
作者:
黄锦成
时间:
2012-7-12 22:33
这个应该是要注意--在变量前面还是在变量后面
作者:
李志群
时间:
2012-7-12 22:39
黄锦成 发表于 2012-7-12 22:33
这个应该是要注意--在变量前面还是在变量后面
嗯嗯 嘿嘿 我那个没打上去 今天看到很多人在论坛里面发呵呵 重要的就是在那if语句那呵呵 :)
作者:
李志群
时间:
2012-7-12 22:41
黄锦成 发表于 2012-7-12 22:33
这个应该是要注意--在变量前面还是在变量后面
谢谢嘿嘿 我改了 不知道还可以修改哈哈 刚弄懂呵呵
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2