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的更多相关文章

  1. 原来java中也有类似goto语句的标签啊--java label标签

    http://blog.sina.com.cn/s/blog_6d5354cd0100xjg7.html ——————————————————————————————————————————————— ...

  2. Java基础(2):Java中的四个跳转语句总结goto,break,continue,return

    跳转控制语句 Java中的goto是保留字,目前不能使用.虽然没有goto语句可以增强程序的安全性,但是也带来很多不便,比如说,我想在某个循环知道到某一步的时候就结束,现在就做不了这件事情.为了弥补这 ...

  3. Java中带标签的break,continue

    首先不带标签的break,continue 就不介绍了.大家平时用的最多的也就是这样的情况了. 首先Java中没有goto,但是可以利用带标签的break, continue来实现类似的跳转. 首先来 ...

  4. java中多重循环和break、continue语句

    一.嵌套循环 循环可以互相嵌套,以实现更加复杂的逻辑,其代码的复杂程度也会提高,对初学者而言这应该是个难点,下面我们通过一些例子说明嵌套循环的使用,读者要自己把这些代码上机练习,并理解程序运行的流程. ...

  5. java中如何使用break跳出多重循环

    java 中已知的三种跳出多重循环的方式: System.out.println("---------java中跳出多重循环的三种方式:---------"); System.ou ...

  6. Java中break和continue跳出指定循环

    https://www.cnblogs.com/miys/p/b7f6a463bc58785d74a8a7fccd1f1243.html 在Java中,break和continue可以跳出指定循环,在 ...

  7. Java中的标签语法(类似于C语言goto循环体)

    Java中的标签语法(少用) 101到150的质数 此法类似于C语言中的GOTO循环 public static void main(String[] args) { int count=0; //标 ...

  8. java中如何实现类似goto的作法

    goto虽然是java中保留的keyword,但是对于跳转这个语法对新手来说这个确实好用.为了提高程序的可靠性和可读性,Java语言目前是不支持无条件跳转的goto语句!! 幸亏java中有高仿跳转的 ...

  9. java 中通过label跳出双重for 循环

    java 中如何跳出双重for 循环 java跳出循环是使用break语句的,break默认跳出当前循环(包括for循环.while循环),当使用双层循环时,可通过label从内层循环跳出.有关对比的 ...

随机推荐

  1. Shell面试题

    1.用Shell编程,判断一文件是不是块或字符设备文件,如果是将其拷贝到 /dev 目录下. #!/bin/bash#1.sh#判断一文件是不是字符或块设备文件,如果是将其拷贝到 /dev 目录下#f ...

  2. 8.MVC框架开发(URL路由配置和URL路由传参空值处理)

    1.ASP.NET和MVC的路由请求处理 1)ASP.NET的处理 请求---------响应请求(HttpModule)--------处理请求(HttpHandler)--------把请求的资源 ...

  3. Get your Windows product key from a script

    The product key is located in the registry under HKLM\Software\Microsoft\Windows NT\CurrentVersion I ...

  4. Python 全栈开发 -- 开发环境篇

    开发环境是一个文本编辑器和 Python 解释器的组合.文本编辑器用来写代码,解释器提供了一种方法来运行编写的代码.一个文本编辑器可以像 Windows 上的 Notepad 一样简单,或是一个复杂的 ...

  5. Using FireMonkey Layouts

    FireMonkey has many layout controls to choose from. Come learn the differences and how to use them t ...

  6. 《ArcGIS Engine+C#实例开发教程》第一讲桌面GIS应用程序框架的建立

    原文:<ArcGIS Engine+C#实例开发教程>第一讲桌面GIS应用程序框架的建立 摘要:本讲主要是使用MapControl.PageLayoutControl.ToolbarCon ...

  7. 防止服务器宕机时MySQL数据丢失的几种方案

    这篇文章主要介绍了防止服务器宕机时MySQL数据丢失的几种方案,结合实践介绍了Replication和Monitor以及Failover这三个项目的应用,需要的朋友可以参考下. 对于多数应用来说,My ...

  8. Java JSON序列化杂谈

    在C#中序列化是比较容易的,如果不用第三方的类库,那么C#提供的两个对象也够我们使用,一般的操作是定义一个不含有方法的类,这个类里面定义了要序列化的对象的属性,因为我C#用的比较多,这里直接给出泛型, ...

  9. background image position问题

    在CSS中,背景图片的定位方法有3种: 1)关键字:background-position: top left; 2)像素:background-position: 0px 0px; 3)百分比:ba ...

  10. html5 动画精灵

    <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...