A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘永贵 中级黑马   /  2014-3-16 17:01  /  804 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class MyClass{
    public static void main(String argv[]){
        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 for i = " + i + " Value for j = " +j);
}
    }
}
这个程序是怎么运行的

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

3 个回复

倒序浏览
1 1
2 1

j=2的时候 就继续外循环  不打印

那个 inner:  outer: 用来标记 ,
可以用 break  和 continue 来跳转到这个标记
回复 使用道具 举报 1 0
开始时顺序执行,当内循环j=2时,if语句满足条件执行continue outer;语句,直接跳转到外循环outer:for (i = 1; i < 3; i++)(此时i自增一次,值为2);再次执行内循环,j=2时继续跳转到外循环,i再次自增,值为3,条件不满足程序结束
回复 使用道具 举报
本帖最后由 孟祥钰 于 2014-3-16 17:48 编辑
  1. public class MyClass
  2. {
  3.     public static void main(String argv[])
  4.     {
  5.         int i;
  6.         int j;
  7.         outer: for (i = 1; i < 3; i++)
  8.             inner: for(j = 1; j < 3; j++)
  9.             {
  10.                 if (j == 2)
  11.                     continue outer;
  12.                 System.out.println("Value for i = " + i + " Value for j = " +j);
  13.             }
  14.     }
  15. }
复制代码

定义两个变量i和j
用标号outer,inner分别标了外循环和内循环
先进行outer:for外循环
i=1满足i<3
进入inner for内循环
j=1 满足j<3
输出Value for i = 1 Value for j = 1
然后先进行j++运算
再进入inner:for内循环
此时j的值是2
满足if语句中的j==2条件
执行continue outer;
结束inner:for内循环
跳转到outer:for外循环
进行i++运算
此时i的值变为2
仍满足i<3
进入inner:for内循环
j=1 满足j<3
输出Value for i = 2 Value for j = 1
然后先进行j++运算
再进入inner:for循环
此时j的值是2
满足if语句中的j==2条件
执行continue outer;
结束inner:for循环
跳转到outer:for循环
进行i++运算
此时i的值变为3
不满足x<3的条件
程序结束

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马