u012547633
狂奔岻蜗牛
采纳率50%
2015-01-24 07:22 阅读 4.1k

java嵌套for循环的跳出

for(Object object : objects) {
            for(Object2 object2 : objects2) {
                if(x>0)......
            }
}

怎么才能让if(x>0)时结束object2的循环,并且让object执行下一次循环 !在线等,求救

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

14条回答 默认 最新

  • caozhy 从今以后生命中的每一秒都属于我爱的人 2015-01-24 07:58

    或者加上一个判断变量,但是那样写起来麻烦。
    刚才网络不好,多说两句这个方案。
    boolean shouldcontinue;
    for(Object object : objects) {
    for(Object2 object2 : objects2) {
    if(x>0)
    {
    shouldcontinue = true;
    break;
    }
    }
    if (shouldcontinue) continue;
    }

    点赞 1 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2015-01-24 07:24

    如果是两层循环,只能用goto了,或者加上一个判断变量,但是那样写起来麻烦。

    点赞 评论 复制链接分享
  • oyljerry oyljerry 2015-01-24 07:37

    多层只有goto了。

    点赞 评论 复制链接分享
  • BravoMy BravoMy 2015-01-24 07:48

    不能用contiune跳出当前一层循环吗?

    点赞 评论 复制链接分享
  • believe_hope 努力的人运气总不会太差 2015-01-24 08:03

    if(x>0)时结束object2的循环,并且让object执行下一次循环 !
    直接在if(x>0){break;};不就结束object2,开始object下一循环了吗?x,是成员变量吗?

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2015-01-25 02:09

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2015-01-25 02:10

    http://lavasoft.blog.51cto.com/62575/178997/
    如果看不到图,看这里。

    点赞 评论 复制链接分享
  • CH__DTK CH__DTK 2015-01-25 03:00

    for(Object object : objects) {
    for(Object2 object2 : objects2) {
    if(x>0) {
    break;
    }
    }
    if(x>0) {
    continue;
    }
    }

    点赞 评论 复制链接分享
  • shuytu shuytu 2015-01-25 03:12

    最好是不要用goto 把break 和continue好好看看

    点赞 评论 复制链接分享
  • Chevalier_Zero Chevalier_Zero 2015-01-25 06:19

    firstFor: for(int i = 0; i < 5; i++){
    for(int j = 0 ; j < 5; j++){
    continue firstFor;
    }
    System.out.println(5) ;
    }

    给你来一个例子,这里应该可以看懂吧,这里的firstFor相当于你给你的for循环起了一个名字,然后在名字后面加一个":"就可以写for循环了
    然后continue firstFor;就是你要继续叫这个名字的for循环。名字你可以随便起。

    点赞 评论 复制链接分享
  • zx849601210 夏天的圈圈 2015-01-26 17:04

    for(Object object : objects) {
    for(Object2 object2 : objects2) {
    if(x>0){
    continue;
    }
    }
    }

    点赞 评论 复制链接分享
  • a820082934 哎呀王子 2015-01-27 07:26

    out: for(Object object : objects) {
    for(Object2 object2 : objects2) {
    if(x>0)
    continue out;
    }
    }

    简单来说,“out”代表着最外层循环的入口,名字随便,可以叫“dd”都可以。
    continue out表示立即转入外层的下个循环。
    同时break out表示直接跳出外层。
    说得有点笼统。。。。

    点赞 评论 复制链接分享
  • qq_18994831 master_y 2015-01-27 13:17

    直接contiune跳出

    点赞 评论 复制链接分享
  • jlnwan AndyTom080105 2015-01-30 01:46

    1 对于双层循环,直接在if语句体内部加break,可以结束本层循环,跳转到最近循环体,也即是外层循环。
    2 对于多层循环,可采取楼上各位所说的加lable标签,然后在循环体中需要跳出的位置使用,break lable名。

    点赞 评论 复制链接分享

相关推荐