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从内层循环跳出.有关对比的 ...
随机推荐
- HBase Shell(转)
HBase 为用户提供了一个非常方便的使用方式, 我们称之为“HBase Shell”.HBase Shell 提供了大多数的 HBase 命令, 通过 HBase Shell 用户可以方便地创建.删 ...
- Qt 5 常见错误汇总
1.没加 QT+=sql,需要再.pro文件中加上 2.无故崩溃,这个有多种原因,多为指针问题,例如,指针内存泄露,指针未开辟空间直接使用,UI还未建立就使用UI里面的东西..等等 3.Sql问题,有 ...
- CODEVS 2102 石子归并 2
[题目描述 Descriptin] 在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分.试设计出1个算法, ...
- DB天气app冲刺第三天
昨天很郁闷而且烦躁的的过了一天 什么也没弄.今天其实也没有怎么做..进度非常慢.. 因为个人的问题 所以这两天的效率非常慢. 但今天还是做了一些东西.把listview做出来了.做出了一个按钮的效果. ...
- shell 练习
shell 练习 iii= ] do iii=$[$iii+] echo -n "$iii " done iii= ] do iii=$[$iii+] echo -n " ...
- Struts2的一个问题: 找不到struts.xml的路径问题
一. 最近在学习Struts2的一些知识,在使用Struts2搭建框架的时候,部署到服务器上的时候出现上面的问题: 三月 19, 2016 1:43:24 下午 org.apache.tomcat.u ...
- location.hash && location.href
hash:设置或获取 href 属性中在井号“#”后面的分段. href:设置或获取整个URL为字符串. 通过下面的测试你会发现区别,将代码放到你的HTML中,然后用浏览器打开,测试步骤: 点击“超链 ...
- 这个帖子要收藏,以后用得着--python 实时获取子进程输出
在论坛上找到方法了,http://bbs.csdn.net/topics/340234292 http://blog.csdn.net/junshao90/article/details/821575 ...
- Android+Junit单元测试1
学习参考: http://my.oschina.net/liux/blog/52469 http://mobile.51cto.com/android-229614.htm 一,权限配置 <ap ...
- android 在fragment中获取界面的UI组件
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanc ...