计算机等级二级JAVA辅导:java跳转语句

文章作者 100test 发表时间 2007:03:10 18:41:01
来源 100Test.Com百考试题网


Java 支持 3 种跳转语句:break,continue 和return 。这些语句把控制转移到程序的其他部分。下面对每一种语句进行讨论。
注意:除了这里讨论的跳转语句,Java 还支持另一种能改变你程序执行流程的方法:通过异常处理。异常处理提供了一种结构化的方法,通过该方法可以使你的程序捕获并处理运行时刻错误。它由下列五个关键字来控制:try,catch,throw,throws,和 finally 。实质上,异常处理机制允许你的程序完成一个非局部的分支跳转。由于异常处理是一个大话题,我们将在第 10 章专门讨论。
5.3.1 使用break 语句
在Java 中,break语句有3种作用。第一,你已经看到,在switch语句中,它被用来终止一个语句序列。第二,它能被用来退出一个循环。第三,它能作为一种“先进”的goto 语句来使用。下面对最后 2种用法进行解释。
使用break 退出循环
可以使用break 语句直接强行退出循环,忽略循环体中的任何其他语句和循环的条件测试。在循环中遇到break语句时,循环被终止,程序控制在循环后面的语句重新开始。下面是一个简单的例子:
// Using break to exit a loop.
class BreakLoop {
public static void main(String args[]) {

for(int i=0. i<100. i ) {
if(i == 10) break. // terminate loop if i is 10
System.out.println("i: " i).

}
System.out.println("Loop complete.").
}
}

该程序产生如下的输出:
i: 0
i: 1
i: 2
i: 3
i: 4
i: 5
i: 6
i: 7
i: 8
i: 9
Loop complete.
正如你看到的那样,尽管for 循环被设计为从 0执行到99,但是当i等于10时,break语句终止了程序。break语句能用于任何 Java 循环中,包括人们有意设置的无限循环。例如,将上一个程序用while 循环改写如下。该程序的输出和刚才看到的输出一样。
// Using break to exit a while loop.
class BreakLoop2 {
public static void main(String args[]) {
int i = 0.

while(i < 100) {
if(i == 10) break. // terminate loop if i is 10
System.out.println("i: " i).
i .

}
System.out.println("Loop complete.").
}
}

在一系列嵌套循环中使用break 语句时,它将仅仅终止最里面的循环。例如:
// Using break with nested loops.
class BreakLoop3 {
public static void main(String args[]) {

for(int i=0. i<3. i ) {
System.out.print("Pass " i ": ").
for(int j=0. j<100. j ) {

if(j == 10) break. // terminate loop if j is 10
System.out.print(j " ").
}
System.out.println().

}
System.out.println("Loops complete.").
}
}

该程序产生如下的输出:
Pass 0: 0 1 2 3 4 5 6 7 8 9
Pass 1: 0 1 2 3 4 5 6 7 8 9
Pass 2: 0 1 2 3 4 5 6 7 8 9
Loops complete.

从中可以看出,在内部循环中的break语句仅仅终止了该循环,外部的循环不受影响。
关于break ,在这里要记住两点。首先,一个循环中可以有一个以上的break 语句。但要小心,太多的break 语句会破坏你的代码结构。其次,switch语句中的break仅仅影响该switch 语句,而不会影响其中的任何循环。
注意:break 不是被设计来提供一种正常的循环终止的方法。循环的条件语句是专门用来终止循环的。只有在某类特殊的情况下,才用break 语句来取消一个循环。
把break 当作goto 的一种形式来用
break语句除了在switch语句和循环中使用之外,它还能作为goto 语句的一种“文明”形式来使用。Java 中没有 goto 语句,因为goto 语句提供了一种改变程序运行流程的非结构化方式。这通常使程序难以理解和难于维护。它也阻止了某些编译器的优化。但是,有些地方goto 语句对于构造流程控制是有用的而且是合法的。例如,从嵌套很深的循环中退出时, goto 语句就很有帮助。因此,Java 定义了break 语句的一种扩展形式来处理这种情况。通过使用这种形式的break,你可以终止一个或者几个代码块。这些代码块不必是一个循环或一个switch语句的一部分,它们可以是任何的块。而且,由于这种形式的break 语句带有标签,你可以明确指定执行从何处重新开始。你将看到,break带给你的是goto 的益处,并舍弃了goto 语句带来的麻烦。

相关文章


计算机二级JAVA数据类型辅导汇总
Java更多的库谜题84:被粗暴地中断
计算机等级二级JAVA辅导:java跳转语句
计算机等级二级java辅导:JAVA类基础
计算机二级java循环语句
计算机二级Java的选择语句
计算机二级JAVA:运算符优先级
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛