黑马程序员技术交流社区
标题: 讨论一下这个让多重for循环 中的标记是怎么个情况 [打印本页]
作者: demown 时间: 2014-4-11 21:13
标题: 讨论一下这个让多重for循环 中的标记是怎么个情况
在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:这是怎回事 后面什么都没跟表示啥.
作者: 呆呆沙师妹 时间: 2014-4-11 21:30
这个是从C语言中的goto学来的,C语言中只要用标记在程序中进行标记,就可用关键字goto让程序跳转到标记所在代码处,然后再从该处往下执行。
Java中限制了这一用法适用范围,标记仅限对循环层进行节点进行标记,然后结合break和continue关键字进行循环控制。
我认为你可类似看作是switch语句中的case,不过它省略了switch和case关键字,只要标识相同,程序就会跳转该标识所在代码处。
作者: ╰青青子佩ˊゝ 时间: 2014-4-11 22:39
本帖最后由 ╰青青子佩ˊゝ 于 2014-4-11 22:41 编辑
这个标记和for循环之间只要没有其他代码,放在哪里都行。比如,看下面代码- System.out.println("laal");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;
- }
- }
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |