java中类似c++ goto功能---------label简介
2013-07-25 18:12
351 查看
今天在看一个开源项目的时候,无意中看到一个未见过的语法和用法,于是查了一下资料和写了一下demo来验证,结果如下
懂得c++的朋友都知道goto这个关键字吧,这个关键字让我们可以在程序中比较灵活地跳转;当然都不推荐使用他,但是他也有他特定的用途,比如跳出多重循环的时候就特别有用,直接上代码:
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
init();
}
private static void init() {
label:
for (int i = 0; i < 50; i++) {
for (int j = 0; j < 30; j++) {
for (int a = 0; a < 30; a++) {
if (a == 15)
break label;
System.out.println("third======" + a);
}
System.out.println("second======" + j);
}
System.out.println("first======" + i);
}
System.out.println("end======");
}
}
输出结果是:
third======0
third======1
third======2
third======3
third======4
third======5
third======6
third======7
third======8
third======9
third======10
third======11
third======12
third======13
third======14
end======
可以看到,再循环开始前定了label后,在内部循环中使用break label就可以跳出所有的循环,然后执行最外出循环之后的代码,还有一个用法就是continue label。
而continue label是跳出所有循环回到最外层循环的开始处重新开始循环代码的执行
懂得c++的朋友都知道goto这个关键字吧,这个关键字让我们可以在程序中比较灵活地跳转;当然都不推荐使用他,但是他也有他特定的用途,比如跳出多重循环的时候就特别有用,直接上代码:
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
init();
}
private static void init() {
label:
for (int i = 0; i < 50; i++) {
for (int j = 0; j < 30; j++) {
for (int a = 0; a < 30; a++) {
if (a == 15)
break label;
System.out.println("third======" + a);
}
System.out.println("second======" + j);
}
System.out.println("first======" + i);
}
System.out.println("end======");
}
}
输出结果是:
third======0
third======1
third======2
third======3
third======4
third======5
third======6
third======7
third======8
third======9
third======10
third======11
third======12
third======13
third======14
end======
可以看到,再循环开始前定了label后,在内部循环中使用break label就可以跳出所有的循环,然后执行最外出循环之后的代码,还有一个用法就是continue label。
而continue label是跳出所有循环回到最外层循环的开始处重新开始循环代码的执行
相关文章推荐
- C++中实现类似java中接口的功能
- C++实现类似JAVA反射的基本功能
- Delphi中实现C++/Java类似静态变量的功能
- Java实现类似C/C++中的__FILE__、__FUNC__、__LINE__等,主要用于日志等功能中。
- 在java中实现类似c语言中goto的功能
- 在java中实现类似c语言中goto的功能
- 原来java中也有类似goto语句的标签啊--java label标签(一)
- 原来java中也有类似goto语句的标签啊--java label标签
- Delphi中实现C++/Java类似静态变量的功能
- java web中实现同一帐号同一时间只能一个地点登陆(类似QQ登录的功能)
- java中实现类似函数指针的功能
- java 制作类似DOS功能
- c++ 连接两个字符串,实现类似strcat 功能
- c / c++中一些常见区别(功能类似)
- C++ GUI QT 编程(第二版) -第4章 实现功能源码简介_1
- jsp中使用jstl实现类似java的if-else功能的写法
- 经典Java线程池的代码及各部分功能简介
- vim下c++自动补全和类似source insight功能配置
- java语言类似c语言及c++
- 利用C++重载实现类似“类成员指针”的功能