【原创】在JAVA中如何跳出当前多重嵌套循环?_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
2
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3570 | 回复: 1   主题: 【原创】在JAVA中如何跳出当前多重嵌套循环?        下一篇 
匿名用户
发表于: IP:您无权察看 2013-1-31 13:41:53 | [全部帖] [楼主帖] 楼主

在java中,想要跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break语句,即可跳出外层循环。如下:
方法一

 ok:
for(int i=0;i<10;i++) {
      for (int j=0;j<10;j++) {
            System.out.println("i=" + i + "j=" + j);
            if(j==5) break ok;
      }
}


方法二:

for (int i=0;i<4;i++) {
      for (int j=0;j<10;j++) {
            System.out.println("i=" + i + "j=" + j);
            if(j==5) {
                  i=4;
                  break;
            }
      }
}


以上两种方法输出的结果一致,可以达到相同的目的。所以我建议通常情况下不使用标号这种方式,而是让外层的循环条件表达式的结果可以受到里层循环体代码的控制,例如,要在二维数组中查找到某个数字。如下:

 int arr[][] = {{1,2,3},{4,5,6,7},{9}};
boolean found = false;
for (int i=0;i<arr.length && !found;i++) {
      for (int j=0;j<arr[i].length;j++) {
            System.out.println("i=" + i + "j=" +j);
            if(arr[i][j] == 5) {
                  found = true;
                  break;
            }
      }
}



赞(0)    操作        顶端 
yi.liao
注册用户
等级:少校
经验:917
发帖:52
精华:4
注册:2013-1-31
状态:离线
发送短消息息给yi.liao 加好友    发送短消息息给yi.liao 发消息
发表于: IP:您无权察看 2013-1-31 17:51:06 | [全部帖] [楼主帖] 2  楼

北京联动北方科技有限公司北京联动北方科技有限公司  break?????????  ??????????



赞(0)    操作        顶端 
总帖数
2
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论