Java中goto实现方法
Java语言中goto是保留关键字,没有goto语句,也没有任何使用goto关键字的地方。下面YJBYS小编为大家整理了关于Java中goto实现方法,希望对你有所帮助。
Java中也可在特定情况下,通过特定的手段,来实现goto的功能。显然Java不愿意开发者随意跳转程序。下面解释两个特定:
特定情况:只有在循环体内,比如for、while语句(含do.……while语句)中。
特定手段:语句标签和循环控制关键字break、continue,语法格式是:break/continue 语句标签。
break、continue和语句标签
1、语句标签
语句标签的语法是:标签名:
语句标签可以定义在方法体内的最后一条语句之前即可。但是语句标签实际使用的机会是与break和continue结合使用的,而break和continue是和循环语句结合使用的.,因此实际上语句标签的使用也是和循环紧密结合的。
语句标签在被使用的情况,只能定义在循环迭代语句之前,否则编译出错!
因此,有意义、可使用的标签含义是:指定循环语句的标识!
2、break、continue语句单独使用
单独使用情况下:break语句作用是结束当前的循环迭代体,进而执行剩余的语句。
continue语句的作用是结束本次迭代过程,继续执行下一轮迭代。
3、break、continue语句结合语句标签的使用
为什么需要语句标签呢?
原因是因为程序可能有循环的嵌套,当多层循环嵌套时候,有时候需要一次跳出多级循环,这种情况下就需要结合语句标签才能实现此功能了。
带标签使用情况下:break中断并跳出标签所指定循环,continue跳转到标签指定的循环处,并继续执行该标签所指定的循环。
为了说明情况,看看下面的例子:
import om;
/**
* 语句标签测试
*
* @author leizhimin 2009-7-16 11:43:08
*/
public class TestLable {
public static void main(String[] args) {
outer:
for (int i = 0; i 《 10; i++) {
tln(“nouter_loop:” + i);
inner:
for (int k = 0; i 《 10; k++) {
t(k + “ ”);
int x = new Random()。nextInt(10);
if (x 》 7) {
t(“ 》》x == ” + x + “,结束inner循环,继续迭代执行outer循环了!”);
continue outer;
}
if (x == 1) {
t(“ 》》x == 1,跳出并结束整个outer和inner循环!”);
break outer;
}
}
}
tln(“——》》》所有循环执行完毕!”);
}
}
执行结果:
outer_loop:0
0 1 2 3 4 5 6 7 8 9 》》x == 8,结束inner循环,继续迭代执行outer循环了!
outer_loop:1
0 1 2 3 4 5 》》x == 9,结束inner循环,继续迭代执行outer循环了!
outer_loop:2
0 1 2 3 4 5 6 7 8 9 》》x == 8,结束inner循环,继续迭代执行outer循环了!
outer_loop:3
0 1 2 3 4 》》x == 9,结束inner循环,继续迭代执行outer循环了!
outer_loop:4
0 1 2 3 4 5 6 7 8 9 10 》》x == 8,结束inner循环,继续迭代执行outer循环了!
outer_loop:5
0 》》x == 1,跳出并结束整个outer和inner循环!——》》》所有循环执行完毕!
Process finished with exit code 0
-
2017年java面试题及答案
Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。下面是小编整理的关于2017年java面试题及答案,欢迎大家练习!java面试题及答案1、String是最基本的数据类型吗?答:不是。Java中的基本数据类型只有8个...
-
J2ME在移动设备上实现动画程序方法
任何动画的最基本的前提,是要在足够快的时间内显示和更换一张张的图片,让人的眼睛看到动的画面效果。图片必须按照顺序画出来。从一张图片到下一张图片之间的变化越小,效果会越好。首先要做的,是使用你的图片处理软件(比如ps或者firework)创建一系列相同大小的图片...
-
java网络编程基本知识
java网络编程的基本知识不少,下面yjbys小编为大家分享最新最全java中网络程序基本知识,欢迎参考学习!网络基本知识:在java中网络程序有两种协议:TCP和UDP,TCP通过握手协议进行可靠的连接,UDP则是不可靠连接。IP地址:用于标记一台计算机的身份证。IP地址由网络地址(确...
-
2016年Java认证考试题
Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和静态的语言。下面来看看java认证的考试题!1.在Java中,负责对字节代码解释执行的是A.应用服务器B.虚拟机C.垃圾回收器D.编译器2.一个栈的输入序列为12345,则下列...