java 跳转语句
来源:互联网 发布:气体比热容比实验数据 编辑:程序博客网 时间:2024/06/16 20:30
======================================================
注:本文源代码点此下载
======================================================
java 支持 3 种跳转语句:break,continue 和return 。这些语句把控制转移到程序的其他部分。下面对每一种语句进行讨论。
注意:除了这里讨论的跳转语句,java 还支持另一种能改变你程序执行流程的方法:通过异常处理。异常处理提供了一种结构化的方法,通过该方法可以使你的程序捕获并处理运行时刻错误。它由下列五个关键字来控制:try,catch,throw,throws,和 finally 。实质上,异常处理机制允许你的程序完成一个非局部的分支跳转。由于异常处理是一个大话题,我们将专门讨论。
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; ibreaklabel;
这里,标签label 是标识代码块的标签。当这种形式的break执行时,控制被传递出指定的代码块。被加标签的代码块必须包围break 语句,但是它不需要是直接的包围break的块。这意味着你可以使用一个加标签的break 语句退出一系列的嵌套块。但是你不能使用break 语句将控制传递到不包含break 语句的代码块。
要指定一个代码块,在其开头加一个标签即可。标签(label )可以是任何合法有效的java 标识符后跟一个冒号。一旦你给一个块加上标签后,你就可以使用这个标签作为break 语句的对象了。这样做会使执行在加标签的块的结尾重新开始。例如,下面的程序示例了 3 个嵌套块,每一个都有它自己的标签。break语句使执行向前跳,调过了定义为标签second 的代码块结尾,跳过了2个println ( ) 语句。
// using break as a civilized form of goto.
class break {
public static void main(string args[]) {
boolean t = true;
first: {
second: {
third: {
system.out.println("before the break.");
if(t) break second; // break out of second block
system.out.println("this won't execute");
}
system.out.println("this won'texecute");
}
system.out.println("this is after secondblock.");
}
}
}
运行该程序,产生如下的输出:
before the break.
this is after second block.
标签break 语句的一个最普遍的用法是退出循环嵌套。例如,下面的程序中,外层的循环只执行了一次:
// using break to exit from nested loops
class breakloop4 {
public static void main(string args[]) {
outer:
for(int i=0; i5.3.2 使用continue 语句
有时强迫一个循环提早反复是有用的。也就是,你可能想要继续运行循环,但是要忽略这次重复剩余的循环体的语句。实际上,goto 只不过是跳过循环体,到达循环的尾部。continue 语句是break语句的补充。在while 和do while 循环中,continue 语句使控制直接转移给控制循环的条件表达式,然后继续循环过程。在for 循环中,循环的反复表达式被求值,然后执行条件表达式,循环继续执行。对于这3种循环,任何中间的代码将被旁路。
下例使用continue 语句,使每行打印2个数字:
// demonstrate continue.
class continue {
public static void main(string args[]) {
for(int i=0; i i) {
system.out.println();
continue outer;
}
system.out.print(" " + (i * j));
}
}
system.out.println();
}
}
在本例中的continue 语句终止了计数j的循环而继续计数i的下一次循环反复。该程序的输出如下:
0
0 1
0 2 4
0 3 6 9
0 4 8 12 16
0 5 10 15 20 25
0 6 12 18 24 30 36
0 7 14 21 28 35 42 49
0 8 16 24 32 40 48 56 64
0 9 18 27 36 45 54 63 72 81
很好的利用continue 语句的情况很少,一个原因是java 提供了一系列丰富的循环语句,可以适用于绝大多数应用程序。但是,对于那些需要提早反复的特殊情形,continue 语句提供了一个结构化的方法来实现。
5.3.3 使用return语句
最后一个控制语句是return。return语句用来明确地从一个方法返回。也就是,return 语句使程序控制返回到调用它的方法。因此,将它分类为跳转语句。这里对其作简要地介绍。
在一个方法的任何时间,return 语句可被用来使正在执行的分支程序返回到调用它的方法。下面的例子说明这一点。下例中,由于是java 运行系统调用main() ,因此,return语句使程序执行返回到java 运行系统。
// demonstrate return.
class return {
public static void main(string args[]) {
boolean t = true;
system.out.println("before thereturn.");
if(t) return; // return to caller
system.out.println("this won'texecute.");
}
}
该程序的结果如下:
before the return.
正如你看到的一样,最后的println( ) 语句没有被执行。一旦return语句被执行,程序控制传递到它的调用者。
最后一点:在上面的程序中,if(t)语句是必要的。没有它,java 编译器将标记“执行不到的代码”(unreachable code )错误,因为编译器知道最后的println ()语句将永远不会被执行。为阻止这个错误,为了这个例子能够执行,在这里使用if语句来“蒙骗”编译器。
======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
- java语句中的跳转语句
- java 跳转语句
- Java跳转控制语句
- java 跳转语句
- java跳转语句
- java 跳转语句
- Java中的跳转语句
- Java跳转语句
- java跳转语句之continue
- JAVA循环语句和跳转语句
- java (复合语句,条件语句,多分支语句,跳转语句)
- Java关于程序跳转语句TestContinueBreakReturn.java
- 在JAVA中怎么实现语句跳转?
- Java学习之控制跳转语句
- Java循环跳转语句之 break
- java基础之数据类型 标识符 跳转语句
- Java基础——流程跳转语句
- JAVA基础之跳转控制语句
- ajax 的post方法用例(带循环)
- java调用bat文件
- asp.net防SQL注入参数过滤
- 掌握 Ajax,第 2 部分: 使用 JavaScript 和 Ajax 发出异步
- 简析Delphi中的XML编程
- java 跳转语句
- JNDI连接池 【1】
- Ajax的原理和应用[转载]
- android之GridView
- 用DropDownList控件绑定XML数据实现省市区三级联动
- 关于ASP.NET的AJAX
- IE,谷歌,遨游,火狐兼容的万能合并单元格方法
- CMMI
- Java版远程控制V1.0