java中的"goto"--label
java中没有goto,但是goto是保留字。例如int goto;是不合法的。
但是java中有标签,仅作用在多重循环的continue和break中。
continue和break只能作用于本层循环,但是有了标签可以直接跳出多重循环。
代码举例:
public class Main {
public static void main(String[] args) {
first: // 标签与循环直接不可以加语句
for (int i = 0; i < 3; ++i) {
System.out.println("\nfirst: " + (i + 1) + " times start");
second:
for (int j = 0; j < 2; ++j) {
System.out.println("\tsecond: " + (j + 1) + " times start");
if (i == 1 && j == 1) {
System.out.println("\t----break----");
break;
}
for (int k = 0; k < 2; ++k) {
System.out.println("\t\tthird: " + (k + 1) + " times start");
if (i == 1 && j == 0 && k == 0) {
System.out.println("\t\t----continue----");
continue;
}
if (i == 2 && j == 0) {
System.out.println("\t\t----continue second----");
continue second;
}
if (i == 2 && j == 1 && k == 1) {
System.out.println("\t\t----break first----");
break first;
}
System.out.println("\t\tthird: " + (k + 1) + " times end");
}
System.out.println("\tsecond: " + (j + 1) + " times end");
}
System.out.println("first: " + (i + 1) + " times end");
}
}
}
输出:
first: 1 times start
second: 1 times start
third: 1 times start
third: 1 times end
third: 2 times start
third: 2 times end
second: 1 times end
second: 2 times start
third: 1 times start
third: 1 times end
third: 2 times start
third: 2 times end
second: 2 times end
first: 1 times end first: 2 times start
second: 1 times start
third: 1 times start
----continue----
third: 2 times start
third: 2 times end
second: 1 times end
second: 2 times start
----break----
first: 2 times end first: 3 times start
second: 1 times start
third: 1 times start
----continue second----
second: 2 times start
third: 1 times start
third: 1 times end
third: 2 times start
----break first----
java中的"goto"--label的更多相关文章
- 原来java中也有类似goto语句的标签啊--java label标签
http://blog.sina.com.cn/s/blog_6d5354cd0100xjg7.html ——————————————————————————————————————————————— ...
- Java基础(2):Java中的四个跳转语句总结goto,break,continue,return
跳转控制语句 Java中的goto是保留字,目前不能使用.虽然没有goto语句可以增强程序的安全性,但是也带来很多不便,比如说,我想在某个循环知道到某一步的时候就结束,现在就做不了这件事情.为了弥补这 ...
- Java中带标签的break,continue
首先不带标签的break,continue 就不介绍了.大家平时用的最多的也就是这样的情况了. 首先Java中没有goto,但是可以利用带标签的break, continue来实现类似的跳转. 首先来 ...
- java中多重循环和break、continue语句
一.嵌套循环 循环可以互相嵌套,以实现更加复杂的逻辑,其代码的复杂程度也会提高,对初学者而言这应该是个难点,下面我们通过一些例子说明嵌套循环的使用,读者要自己把这些代码上机练习,并理解程序运行的流程. ...
- java中如何使用break跳出多重循环
java 中已知的三种跳出多重循环的方式: System.out.println("---------java中跳出多重循环的三种方式:---------"); System.ou ...
- Java中break和continue跳出指定循环
https://www.cnblogs.com/miys/p/b7f6a463bc58785d74a8a7fccd1f1243.html 在Java中,break和continue可以跳出指定循环,在 ...
- Java中的标签语法(类似于C语言goto循环体)
Java中的标签语法(少用) 101到150的质数 此法类似于C语言中的GOTO循环 public static void main(String[] args) { int count=0; //标 ...
- java中如何实现类似goto的作法
goto虽然是java中保留的keyword,但是对于跳转这个语法对新手来说这个确实好用.为了提高程序的可靠性和可读性,Java语言目前是不支持无条件跳转的goto语句!! 幸亏java中有高仿跳转的 ...
- java 中通过label跳出双重for 循环
java 中如何跳出双重for 循环 java跳出循环是使用break语句的,break默认跳出当前循环(包括for循环.while循环),当使用双层循环时,可通过label从内层循环跳出.有关对比的 ...
随机推荐
- 角色控制器 Character Controller
Unity中,1个单位尺寸代表1米.即在Unity中创建一个Cube的尺寸是1x1x1米大小. Unity推荐把人的身高定为大约2个Unity单位高度(2米). 为了截取角色的全身照,需要把角色Ins ...
- simplest_dll 最简dll的创建与隐式调用(显式调用太麻烦,个人不建议使用)
首先需要有个头文件,名字随便写 假设test.h //test.h #ifndef _TEST_H #define _TEST_H #ifdef TEST_EXPORTS //通过宏定义控制是输入还 ...
- [转载]MongoDB学习 (四):创建、读取、更新、删除(CRUD)快速入门
本文介绍数据库的4个基本操作:创建.读取.更新和删除(CRUD). 接下来的数据库操作演示,我们使用MongoDB自带简洁但功能强大的JavaScript shell,MongoDB shell是一个 ...
- android 自定义标题栏 titleBar自定义
在value文件夹下添加style.xml <?xml version="1.0" encoding="utf-8"?> <resources ...
- SGU 488 Dales and Hills
这给题目和LIS类似,只不过是求连续的单调序列,用单调队列可破之,比如求LDIS(连续单增序列),如果a[i]大于栈顶元素入栈,将top作为序列长度,反过来再扫一遍就是包含该元素的单调递减序列,这样通 ...
- Document字段发生变化后,报的错
2016-10-11 15:27:47,828 [ERROR] [main] SpringApplication:838 - Application startup failedorg.springf ...
- java中path和classpath
Path 路径,是java编译时需要调用的程序(如java,javac等)所在的地方; CLASSPATH的作用是指定查找类的路径:当使用java命令执行一个类(类中的main方法)时,会从class ...
- PHP remove,empty和detach区别
empty: 把所有段落的子元素(包括文本节点)删除 HTML 代码: <p>Hello, <span>Person</span> <a href=" ...
- mysql select count(filed) 问题(where条件没有数据匹配的话也有数据返回)。
问题: SELECT count(*),user_id FROM tb_rp_logintrace WHERE id=-1 返回结果: count(*), user_id 0 ...
- 企业2.0杀出一号种子选手 “Linkwedo”横空出世
当下,最热门的话题就是企业2.0和1.0的新老交替,在过去的时间里OA在国内几乎是企业1.0的代名词,各大知名OA厂商一直占领着国内的企业市场,但企业2.0在全球越演越烈,甚至大有替代企业1.0的的迹 ...