之所以要拿这块来讲,是因为这块确实被自己那么深深地遗忘了,以至于突然看到文档中说到这么一段时,有了不小的震惊!或许,因为结构化编程模式强调最好不要用goto这样的破坏程序结构的、让程序可读性大大变差这样的语句,所以,一般就很少关注
文档是这样说的:
“ 在Java语言中,有两种跳转语句:break和continue语句,而且他们都有两种使用形式,一种是带标号。
带标号的break语句和continue语句:
标号应该定义在某一个循环语句之前,紧靠在循环语句的前方,用来标志这个循环结构,在标号和循环之间置入任何语句都是不明智的行为。
”
注意,这里面说的是嵌套循环,下面我们来看看网上找的一个例子:
abc: if(check (i)) {
for (int j = 0;j<10; j++) {
if(j>i)
break;
if (a[j][i]=null)
break abc;
}
.................
}
10: ................
上面程序段中,第1行上的break语句不带标号,其功能就是在满足条件j>i时,终止for
循环,接着执行下一个语句。这里的for循环是最内层的循环。第6行上的break语句是带
标号的,在满足条件a[j][i]=null时,会终止以标号abc开始的整个程序块.而转到第10
行处执行。
带标号的break浯句也有两个特点:一是一定会有一个带相同标号的程序块和带标号
的break语句一起出现;二是这样的break语句使程序可以从多重循环的内层循环跳出来,
也可以从外层循环或其他语句处跳出来,转到语句块的后面执行,
由上可见,break语句可以用来实现c和c++中的goto语句功能.
http://blog.csdn.net/s308701714/article/details/1562825
我想,这应算是一个很简单明了的例子了