黑马程序员技术交流社区

标题: 关于for循环的问题 [打印本页]

作者: 海乃百川    时间: 2016-8-10 09:03
标题: 关于for循环的问题
做题遇到的为什么答案给出的是i=3,j=1.有木有大神帮忙解答一下。


作者: 695212308    时间: 2016-8-10 13:05
这太模糊了,看不清啊,能不能复制下代码看下
作者: 726477179    时间: 2016-8-10 17:08
看不清楚~
作者: 海乃百川    时间: 2016-8-10 19:27
695212308 发表于 2016-8-10 13:05
这太模糊了,看不清啊,能不能复制下代码看下

麻烦帮忙看下
[AppleScript] 纯文本查看 复制代码

public class MyClass {

        public static void main(String[] args) {
                // TODO 自动生成的方法存根
                int i;
                int j;
                outer:for(i=1;i<3;i++)
                        inner:for(j=1;j<3;j++)
                        {
                        if(j==2)
                               
                                continue outer;
                        System.out.println("Value of i is" +i+"    Value of j is"+j);
                        }

        }

}

作者: 海乃百川    时间: 2016-8-10 19:29
726477179 发表于 2016-8-10 17:08
看不清楚~

帮忙看下谢谢了
[AppleScript] 纯文本查看 复制代码

public class MyClass {
                                  public static void main(String[] args) {
                // TODO 自动生成的方法存根
                int i;
                int j;
                outer:for(i=1;i<3;i++)
                        inner:for(j=1;j<3;j++)
                        {
                        if(j==2)
                        continue outer;
                        System.out.println("Value of i is" +i+"    Value of j is"+j);
                        }
}
}

作者: 敲敲乐z    时间: 2016-8-10 20:06
你这代码好难看懂啊,小弟不才看不懂!
作者: paksung    时间: 2016-8-10 20:50
Value of i is1    Value of j is1
Value of i is2    Value of j is1
结果没问题啊
作者: 695212308    时间: 2016-8-10 21:34
海乃百川 发表于 2016-8-10 19:27
麻烦帮忙看下
[mw_shl_code=applescript,true]
public class MyClass {

第一次循环i=1进去后j=1,然后不满足if要求,就直接输出一句Value of i is 1    Value of j is1
当j++后,现在的j是2,则if语句成立,跳到你所标记的outer,也就是外层循环,跳出以后i++
那现在的i就是2了,在判断i是否小于3,判断为true,又执行里面的循环,又把j赋值为1,if语句不成立
现在的i是2了,j是1,所以输出Value of i is 2    Value of j is1
然后j++现在j为2,if语句判断,成立,又跳到外层循环,i++,现在的i是3了,然后在判断i<3
结果不成立,程序结束

说的不太好,,,请慢慢看看....


作者: 水月灬清影    时间: 2016-8-11 08:39
并不理解 j=1 是怎么来的。文字解释楼上说的很详细了,不理解就先初始化 i=0  j=0 再在循环上加断点,很清楚。
作者: 海乃百川    时间: 2016-8-11 09:18
敲敲乐z 发表于 2016-8-10 20:06
你这代码好难看懂啊,小弟不才看不懂!

网上找的题,我也不是很懂
作者: 海乃百川    时间: 2016-8-11 09:19
paksung 发表于 2016-8-10 20:50
Value of i is1    Value of j is1
Value of i is2    Value of j is1
结果没问题啊

恩,我现在有点懂了,估计是网上给错答案了吧,写了好几遍
作者: 海乃百川    时间: 2016-8-11 09:21
695212308 发表于 2016-8-10 21:34
第一次循环i=1进去后j=1,然后不满足if要求,就直接输出一句Value of i is 1    Value of j is1
当j++后 ...

写得好详细,现在终于看懂了,谢谢你了!!!
作者: 阿弥陀佛么么哒    时间: 2016-8-11 09:36
1024个赞{:2_36:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2