`
grzrt
  • 浏览: 188830 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

跳出多层循环的基本要领(Java版)

 
阅读更多


  在Java程序中可能运用多层循环来处理复杂的逻辑。但如果要从最内层循环跳出最外层循环是比较麻烦。下面的代码是一个三层循环的例子:
String[]arr=newString[]{"a","b","c"};    
for(Strings:arr)
{
  for(Stringss:arr)
  {
    for(Stringsss:arr)
    {
      System.out.println(sss);
    }
  }       
}

  如果要从第三层循环跳出第一层循环,可以通过配置标志的要领来实现,但这比较麻烦。当然,如何 运用过C或C++的开发人员可以想到运用 goto语句,如下面的代码所示:
String[]arr=newString[]{"a","b","c"};  
 
for(Strings:arr)
{
  for(Stringss:arr)
  {
    for(Stringsss: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(inti=0;i<10;i++)
{
  ... ...
}

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

  运用 break n跳出多层循环的代码如下:
labelA:
for(Strings:arr)
{      
  for(Stringss:arr)
  {
    for(Stringsss:arr)
    {
      System.out.print(sss);
      breaklabelA;
    }
  }       
}

 上面的代码只输出了一个a,在第三层运用 break labelA可以理解为如下的代码形式(虽然这段代码并不符合Java语法规则):
for(Strings:arr)
{      
  for(Stringss:arr)
  {
    for(Stringsss:arr)
    {
      System.out.print(sss);
      gotolabelA;
    }
  }       
}
labelA:

  当然,还可以运用 continue labelA继续执行某一层的循环,代码如下:
labelA:
for(Strings:arr)
{      
  for(Stringss:arr)
  {
    for(Stringsss:arr)
    {
      System.out.print(sss);
      continuelabelA;
    }
  }       
}

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

  当然,也可以按同样的要领跳出或继续第二层循环,代码如下:
for(Strings:arr)
{      
  labelA:
  for(Stringss:arr)
  {
    for(Stringsss:arr)
    {
      System.out.print(sss);
      breaklabelA;
    }
  }       
}

  上面的代码输出“aaa”。
for(Strings:arr)
{      
  labelA:
  for(Stringss:arr)
  {
    for(Stringsss:arr)
    {
      System.out.print(sss);
      continuelabelA;
    }
  }       
}

上面的代码输出“aaaaaaaaa”。

分享到:
评论

相关推荐

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

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

    易语言跳出循环命令例程

    另一个跳出循环的命令是“退出本次循环”,英文名为“跳过本次循环”,它不会结束整个循环,而是跳过当前循环体内的剩余代码,直接进入下一次循环的判断。这在你需要忽略当前循环的某些处理,但又不希望中断整个...

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

    Java 8跳过本次循环、继续执行以及跳出循环的代码实例 Java 8中有多种循环方式,其中包括老式的for循环、高级的for each循环和Java 8出的foreach循环。今天我们将讨论如何在Java 8中跳过本次循环、继续执行和跳出...

    Java循环技巧大全

    在Java编程中,循环结构是实现重复执行特定代码块的基本方法之一。本文将深入探讨Java中的循环技巧,特别是如何利用不同类型的循环控制语句来优化程序性能,提高代码可读性和可维护性。 #### 一、基本循环结构 ...

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

    在Java中,跳出递归循环通常涉及到如何控制递归的停止条件。下面将详细讨论两种常见的方法来解决Java中的跳出递归循环问题。 **1. 使用标志(Flag)** 一个常见的方法是通过设置一个全局变量或类成员变量作为递归...

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

    如果需要从多层嵌套的循环中跳出来,`break`语句不能直接做到这一点,因为它只能跳出最近的一层循环。为了解决这个问题,JavaScript提供了一种特殊的语法:在`break`后面跟一个标签(label),这样就可以指定跳出...

    js跳出多重循环

    也就是说,当程序执行到`continue`时,它会跳过本次循环中的剩余部分,直接进入下一次循环判断条件的阶段。这在需要对某些特殊情况进行特殊处理时非常有用,可以避免在每次循环中都进行相同的检查。 ### 示例分析 ...

    Delphi 跳出循环的几种方法

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

    Java实验报告——循环结构应用

    这个实验不仅锻炼了学生对基本循环结构的掌握,如for循环,还涉及到条件判断(if语句)和跳出循环(break语句)的运用。同时,通过双层嵌套循环,学生们学习了如何处理更复杂的问题,即在多个维度上搜索最优解。这种...

    练习Java循环的一些源代码例子

    6. **循环嵌套**:一个循环可以嵌套在另一个循环内部,形成多层循环。这在处理二维数组、矩阵或其他需要多层次遍历的情况时很有用。 通过上述知识点,我们可以编写出各种满足不同需求的循环逻辑。在实际编程中,...

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

    本文详细介绍了Java中的`for`循环,包括其基本语法、应用场景以及不同的写法。通过具体的示例,帮助读者更深入地理解`for`循环的使用方法及其在实际开发中的应用。`for`循环作为Java编程语言中的一个重要组成部分,...

    pb基本循环语句详解

    5. **跳出循环语句**:`BREAK`用于立即退出当前循环,`CONTINUE`跳过当前循环的剩余部分,继续下一轮循环。 6. **逻辑控制结构**:`GOTO`语句虽然可用,但通常不推荐使用,因为它可能导致难以理解和调试的代码。...

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

    相比之下,我们可以使用Java中的标签(label)来更直观地跳出多层循环。标签是Java中的一个特殊语法,可以在任何语句前加上,然后在`break`或`continue`语句中引用它,这样就可以指定跳出哪个特定的循环。下面是一个...

    01-Java语言基础(语句-For循环嵌套)

    4. **跳出嵌套**:在循环体内,可以使用`break`语句提前结束整个循环,或者使用`continue`跳过当前循环的剩余部分。 5. **多层嵌套**:虽然两层嵌套常见,但也可以有更多层。理解每一层的作用并保持良好的代码组织至...

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

    JAVA 多层 IF 嵌套 - 判断闰年及日期是否正确 本文主要讲解如何使用 JAVA 语言来判断一个日期字符串是否正确,包括判断闰年和日期的正确性。通过本文,初学者可以进一步了解 JAVA 的 IF 循环语句和字符串处理。 一...

    for while dowhile_javado-while循环_

    条件部分在每次循环开始前检查,如果为真则继续执行循环体,否则跳出循环;更新部分在每次循环结束后执行,用于调整循环变量的值。 接下来是while循环,它适用于在执行循环体之前无法确定循环次数的情况。其语法...

    Java实验-循环语句,for,while,do-while

    循环语句有三种基本形式:for循环、while循环和do-while循环。每种循环语句都有其特点和使用场景。在本实验中,我们将详细介绍这三种循环语句的语法结构、执行顺序和使用方法。 一、for循环语句 for循环语句是Java...

    java循环用法

    Java语言中的循环结构是编程中不可或缺的部分,它允许程序重复执行特定代码块,直到满足某个条件为止。在Java中,有三种主要类型的循环:for循环、while循环和do-while循环,每种都有其特定的应用场景和优势。 1. *...

    Java 循环结构.pdf

    - 使用标签可以指定循环的跳出层次,多用于多层嵌套循环中。 - 基本语法:`label: 循环结构;`,在需要跳出的语句前使用`break label;` 理解并熟练运用这些循环结构是编写高效、可读性强的Java代码的关键。在实际...

Global site tag (gtag.js) - Google Analytics