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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

       在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;
                }
        }
      今天看了长老师的就业面试题,就是不明白这个OK标记是怎么理解 。有没有能解释下真心不知道OK:这是怎回事   后面什么都没跟表示啥.

点评

告诉你个秘籍,这个ok: 和switch 的标记差不多,很少有人这么用  发表于 2014-4-12 02:48

评分

参与人数 1黑马币 +1 收起 理由
枫儿 + 1 神马都是浮云

查看全部评分

3 个回复

倒序浏览
这个是从C语言中的goto学来的,C语言中只要用标记在程序中进行标记,就可用关键字goto让程序跳转到标记所在代码处,然后再从该处往下执行。
Java中限制了这一用法适用范围,标记仅限对循环层进行节点进行标记,然后结合break和continue关键字进行循环控制。
我认为你可类似看作是switch语句中的case,不过它省略了switch和case关键字,只要标识相同,程序就会跳转该标识所在代码处。
回复 使用道具 举报
本帖最后由 ╰青青子佩ˊゝ 于 2014-4-11 22:41 编辑

这个标记和for循环之间只要没有其他代码,放在哪里都行。比如,看下面代码
  1. System.out.println("laal");ok:
  2.                
  3.         for(int i=0;i<10;i++){
  4.                
  5.                 for(int j=0;j<10;j++){
  6.                         System.out.println("i=" + i + ",j=" + j);
  7.                         if(j == 5) break ok;
  8.                 }
  9.         }
复制代码



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