`
77tt77
  • 浏览: 26582 次
  • 性别: Icon_minigender_1
  • 来自: Luna
社区版块
存档分类
最新评论

跳出多层循环的简单方法(Java版)(转载)

    博客分类:
  • java
阅读更多
跳出多层循环的简单方法(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;
        }
    }              
}

    上面的代码只输出了一个a,在第三层使用break labelA可以理解为如下的代码形式(虽然这段代码并不符合Java语法规则):

for(String s: arr)
{           
    for(String ss: arr)
    {
        for(String sss: arr)
        {
            System.out.print(sss);
            goto labelA;
        }
    }              
}
labelA:
    当然,还可以使用continue labelA继续执行某一层的循环,代码如下:

labelA:
for(String s: arr)
{           
    for(String ss: arr)
    {
        for(String sss: arr)
        {
            System.out.print(sss);
            continue labelA;
        }
    }              
}
     上面的代码输出“aaa”,读者可以将上面的代码理解为如下的形式(只是代码形式,并不符合Java语法规则):

for(String s: arr)
{           
    for(String ss: arr)
    {
        for(String sss: arr)
        {
            System.out.print(sss);
            goto labelA;
        }
    }              
labelA:
}
    当然,也可以按同样的方法跳出或继续第二层循环,代码如下:

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

    上面的代码输出“aaa”。

for(String s: arr)
{           
    labelA:
    for(String ss: arr)
    {
        for(String sss: arr)
        {
            System.out.print(sss);
            continue labelA;
        }
    }              
}
    上面的代码输出“aaaaaaaaa”。

分享到:
评论

相关推荐

    java跳出循环break;return;continue使用

    java跳出循环break;return;continue使用 . java跳出循环break;return;continue使用 . java跳出循环break;return;continue使用

    Delphi 跳出循环的几种方法

    Delphi 跳出循环的几种方法Delphi 跳出循环的几种方法 我常用的几种方法 希望大家看看 那个是大家常用的而且比较不错的 以下是引用片段: Delphi中break,exit,abort跳出循环的比较 exit: 退出函数体 abort: ...

    Java 跳出递归循环问题解决办法

    主要介绍了 Java 跳出递归循环问题解决办法的相关资料,需要的朋友可以参考下

    易语言跳出循环命令例程

    易语言跳出循环命令例程源码,跳出循环命令例程

    js for终止循环 跳出多层循环

    主要介绍了js for等循环 跳出多层循环,终止循环执行的方法,需要的朋友可以参考下

    JAVA多层IF嵌套-判断闰年及日期是否正确

    结合实际生活,有助于初学者进一步了解JAVA的IF循环语句

    js跳出多重循环

    js跳出多重循环 ,传统的break 和continue的意思,continue的意思是忽略此次循环,开始下次,着重说明break

    Java程序设计基础:嵌套循环.pptx

    当只有内层循环的循环条件为 false 时,才会完全跳出内层循环,才可以结束外层循环的当次循环,开始下一次循环。 示例1:编程实现输出星型图案。 嵌套循环使用 public class StarPattern { pub

    java实验3.3(循环显示数字,在5的时候跳出循环)

    Write a Java program called BreakLoop.java that uses a for loop with the variable "count" and count 1 to 10.. Display "count=&lt;count&gt;" each time you loop through. Break out of the loop at 5. At the end...

    JQuery跳出each循环的方法

    一、jquery each循环,要实现break和continue的功能: break—-用return false; continue –用return ture; 二、jquery怎么跳出当前的each循环 ...——跳出当前循环,进入下一个循环;相当于 javascript 中的 continue

    在Java中如何跳出当前的多重嵌套循环?

    在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break 语句,即可跳出外层循环。例如: ok: for(int i=0;i&lt;10;i++) { for(int j=0;j&lt;10;j++) ...

    易语言跳出循环命令例程源码

    资源介绍:。易语言跳出循环命令例程源码。资源作者:。@易友。资源下载:。

    JS forEach跳出循环2种实现方法

    假设当我们只需知道某个数组有没有某个属性,如果找到了直接跳出循环,省略掉剩下的循环步骤是较优化的操作,但是for中是可以利用break跳出循环,但break在forEach中无效,那么forEach能不能跳出循环呢?当然是可以...

    js中Array.forEach跳出循环的方法实例.docx

    js中Array.forEach跳出循环的方法实例.docx

    java基础知识-for循环的使用

    在Java中,for循环是一种常用的迭代结构,用于重复执行相同的代码块。 for循环由三个部分组成: 1、初始化表达式:在循环开始之前执行一次,通常用于初始化循环变量。 2、条件表达式:在每次迭代之前进行判断,如果...

    Java跳出多重嵌套循环

    在java里面,我们知道有goto这个关键字,但是实际却没有啥作用,这让我们不像在c/c++里面能够随便让程序跳到那去执行,而break只能跳出当前的一个循环语句,如果要跳出多个循环体那么该怎么办呢。  我们可以这样...

    java循环结构.xmind

    while循环 do while循环 for循环 流程控制,break:终止,跳出switch、循环条件;continue:结束本次,进入下一次循环(案例)

    Java 8跳过本次循环,继续执行以及跳出循环,终止循环的代码实例

    今天小编就为大家分享一篇关于Java 8跳过本次循环,继续执行以及跳出循环,终止循环的代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    Java跳出多重嵌套循环代码实例

    主要介绍了Java跳出多重嵌套循环,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Global site tag (gtag.js) - Google Analytics