在java中,标签起作用 的唯一的地方刚好是在迭代语句之前。
“刚好之前”的意思表明,在标签和迭代之间置入任何语句都不好。
而在迭代之前设置标签的唯一理由是:我们希望在其中嵌套另一个迭代或者一个开关,这是由于break和continue关键词通常只能中断当前循环,但是若随同标签一起使用,他们就会中断循环,直到标签所在的地方
label1:
outer-iteraction{
inner-itercation{
break;//1
continue;//2
continue label1;//3
break label1;//4
}
}
在1中,break中断内部迭代,回到外部迭代
在2中,continue使执行点移回内部迭代的起始处
在3中,contiune label1 同时中断内部迭代以及外部迭代,直接转到label1处,随后,他实际上是继续迭代过程,但却从外部迭代开始
在4中,break label1也会中断所有迭代,并回到label1处,但并不重新进入迭代,也就是说,它实际完全中止了两个迭代
原文:http://my.oschina.net/u/2385858/blog/514425