Java跳出多层循环的简单方法

在Java程序中可能使用多层循环来处理复杂的逻辑。但如果要从最内层循环 跳出最外层循环是比较麻烦。下面的代码是一个三层循环的例子:

String[] arr= new String[]{"a", "b", 

"c"};
for(String s: arr)
{
    for(String ss: arr)
    {
        for(String sss: arr)
        {
            System.out.println(sss);
        }
    }
}

如果要从第三层循环跳出第一层循环,可以通过设置标志的方法来实现,但 这比较麻烦。当然,如何使用过C或C++的开发人员可以想到使用goto语句,如下 面的代码所示:

String[] arr= new String[]{"a", "b", 

"c"};
for(String s: arr)
{
    for(String ss: arr)
    {
        for(String sss: arr)
        {
            System.out.println(sss);
            goto label;
        }
    }
}
label:

虽然上面的代码看似可行,不过Java虽然还有goto关键字,但这个关键字却 不能使用(Java编译器会抛出异常)。不过Java还提供了另外一种类似goto的解 决方案,这就是break n和continue n。其中n表示标签名。只是在Java中只能在 for、while、do...while三种循环语句前面定义,标签与循环体之间不能有任何 其他的语句,如下面的标签定义是合法的:

label: //定义标签
for(int i=0;i<10;i++)
{
  ... ...
}

下面的标签定义是不合法的:

label: //定义标签
System.out.println("abcd"); //此处不能有任何Java语句
for(int i=0;i<10;i++)
{
  ... ...
}

使用break n跳出多层循环的代码如下:

labelA:
for(String s: arr)
{
    for(String ss: arr)
    {
        for(String sss: arr)
        {
            System.out.print(sss);
            break labelA;
        }
    }
}

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索java
, string
, 循环
, sss
, for
, 语句
, arr
, java跳出新窗口
, java循环
, 跳出循环
, 跳出循环语句
, java循环标签
, 循环跳出
跳出each循环
java 跳出多层循环、java 跳出多层for循环、python跳出多层循环、跳出多层循环、js跳出多层each循环,以便于您获取更多的相关知识。

时间: 2024-10-01 04:57:54

Java跳出多层循环的简单方法的相关文章

java增强for循环的实现方法_java

如下所示: package cn.jdk.foreach; import java.util.HashMap; import java.util.Map; public class ForEachTest { public static void main(String[] args) { int[] arr = {1,2,3}; for(int a:arr){ System.out.println(a+"\t"); } System.out.println("=======

将Java程序变成可执行文件的简单方法

运行Java程序(SWING或SWT的桌面程序)可以直接执行.class文件或将所有的.class文件及相关的其他文件压缩成.jar文件,然后使用javaw -jar my.jar来运行程序(其中my.jar是一个jar文件名,可以是任何指定的jar文件).但在windows下,用户习惯直接运行一个exe来执行程序.在网上有很多程序可以将my.jar或.class文件直接转换成exe文件.但很多都是将jar或.class文件放到exe里成,这样不太方便.有些工具,如javalauncher可以使

java导出生成word的简单方法_java

最近做的项目,需要将一些信息导出到word中.在网上找了好多解决方案,现在将这几天的总结分享一下. 目前来看,java导出word大致有6种解决方案: 1.Jacob是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁.使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用.DLL动态链接库的生成需要windows平台的支持.该方案只能在windows平台实现,是其局限性. 2.Apache POI包括一系列的API,它

hibernate-求java两表循环查询的方法

问题描述 求java两表循环查询的方法 表A和表B的ID___RECEIVEID相关联,如何用表A查询到表B的ID_RECEIVEID_OLD, 再利用所取到的ID_RECEIVEID_OLD去查询表A的信息,不断循环,直到表B没有ID_RECEIVEID_OLD,求具体写法 解决方案 hibernate左连接 解决方案二: 表A: 表B: 解决方案三: Java循环和方法 解决方案四: 建议不要这样做 这样数据库会不断的 关闭打开 建议直接写sql函数 那样效率更高 更安全 解决方案五: 这样

编程-约瑟夫环问题用java怎么解决,有简单点的方法吗

问题描述 约瑟夫环问题用java怎么解决,有简单点的方法吗 一组人(n)个,围成一圈,从某人开始数到滴三个的人出列,在接着从下一个人开始数,最终输出最终出列的人(约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3,...,n)分别表示)围坐在一张圆桌周围.从编号k的人开始报数,数到m的那个人出列:他的下一个人又从1开始报数,数到m的那个人又出列:依此规律重复下去,知道圆桌周围的人全都出列. 解决方案 import java.util.Scanner; public class count

Java之递归求和的两种简单方法(推荐)_java

方法一: package com.smbea.demo; public class Student { private int sum = 0; /** * 递归求和 * @param num */ public void sum(int num) { this.sum += num--; if(0 < num){ sum(num); } else { System.out.println("sum = " + sum); } } } 方法二: package com.smbea

java嵌套for循环的跳出

问题描述 java嵌套for循环的跳出 for(Object object : objects) { for(Object2 object2 : objects2) { if(x>0)...... } } 怎么才能让if(x>0)时结束object2的循环,并且让object执行下一次循环 !在线等,求救 解决方案 或者加上一个判断变量,但是那样写起来麻烦. 刚才网络不好,多说两句这个方案. boolean shouldcontinue; for(Object object : objects

java跳出嵌套循环的处理方法

问题描述 java跳出嵌套循环的处理方法 关于java中跳出嵌套循环,目前有两种说法 1.使用标签 ok: for(int i=0;i<10;i++) { for(int j=0;j<10;j++) { if(j == 2) break ok; } } 2.内层循环中控制外层循环的条件 boolean f = true ; for(int i=0;i<10&&f;i++) { for(int j=0;j<10;j++) { if(j == 2) { f=false;

Android利用Gson解析嵌套多层的Json的简单方法_Android

首先先讲一个比较简单点的例子(最简单的我就不讲啦,网上很多),帮助新手理解Gson的使用方法: 比如我们要解析一个下面这种的Json: String json = {"a":"100", "b":[{"b1":"b_value1","b2":"b_value2"}, {"b1":"b_value1","b2"