作者jetswayss (小犬)
看板java
标题Re: [问题] 两层以上的for回圈break?
时间Thu Jun 12 13:40:26 2014
java 可以使用label替回圈命名
在回圈之前
使用 labelname:
就可以替回圈命名
例如你的程式码可以改成
outer:
for () {
inner:
for () {
if() {
break outer;
}
}
}
如此一来就可以break到两层
continue也可以这麽使用
更详细可以到官方tutorials看
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/branch.html
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.115.213.88
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/java/M.1402551628.A.D96.html
1F:推 henry4343:感谢 06/12 13:46
2F:→ swpoker:语法通~但真的请不要这样子做~ 06/12 15:28
3F:推 Killercat:我看过更糟的 丢exception到外面catch :3 06/12 17:04
4F:→ danny8376:这有啥问题吗? 还是你觉得一堆boolean更美观更易懂? 06/12 17:30
5F:→ cyclone350:有问题吧... exception拿来当break? 跟美观无关 06/12 19:20
6F:→ danny8376:回的是break... 06/12 20:57
7F:推 Killercat:其实往好处想 C里面就是goto:跟setjmp/longjmp选一个 06/13 06:42
8F:→ Killercat:不然就是传统如op的打到死。其实labelled break算不错了 06/13 06:43
9F:推 LaPass:java的标准做法就是这样啊...... 不然呢? 06/13 12:52
10F:→ LaPass:我记得除了for之外,有大括弧的都这可这样命名的样子。 06/13 12:57
11F:推 gmoz:exception应该要用在更大坨的吧XD 06/13 13:58
12F:→ Killercat:印度人CODE无奇不有(绝非讽刺反串) 06/13 14:01
13F:→ TonyQ:我觉得 label 跟提 function 都算是可以用的选项。 06/13 16:37
14F:→ Killercat:其实我偏向用CoR 大家可以试试看... 06/13 17:32
15F:→ Killercat:Chain of Responbility可以处理相同模式且复杂10倍场合 06/13 17:34
16F:→ Killercat:不过CoR C/C++好写 Java...不难写但是累赘就是 06/13 17:35
17F:→ popcorny:楼上是不是把问题过度复杂化了? 06/13 17:45
18F:→ Killercat:不尽然 画画流程图动动脑也是一种思考阿 :D 06/13 17:49
20F:→ lovdkkkk:不过 label 写起来最直观 (与通用) 06/13 21:13
21F:→ lovdkkkk:其它的若廻圈结构一变感觉都不太好改... 06/13 21:14