Java 中带标签的 break 和 continue 语句

培训教学 潘老师 8个月前 (08-24) 223 ℃ (0) 扫码查看

在 Java 中,我们可以标记循环并给它们命名。当我们想要中断或继续多个嵌套循环中的特定循环时,这些命名或标记的循环在嵌套循环的情况下很有帮助。

Java 中的标记块在逻辑上与 C/C++ 中的语句类似goto

1. 语法

标签是任何有效的标识符,后跟冒号。例如,在下面的代码中,我们创建两个带标签的语句:

outer_loop:
for (int i = 0; i < array.length; i++) {
  
  inner_loop:
  for (int j = 0; j < array.length; j++) {
  
    //...
  }

  //...
}

在上面的例子中,我们有两个循环,我们将它们标记为outer_loop和inner_loop。当我们想要根据内循环中写入的条件终止外循环时,这很有用。

2. 简单中断和标签中断的区别

Java 中的简单break语句仅终止指定它的立即循环。因此,即使我们从内循环中中断,它仍然会继续执行外循环的当前迭代。

我们必须使用带标签的break语句来终止特定的循环,如上例中的outer_loop 。

以同样的方式,我们可以使用带标签的continue语句跳转到嵌套循环层次结构中任何特定循环的下一次迭代。

continue outer_loop;

3.带有其他条件语句的标记语句

值得一提的是,带标签的break和continue语句可以与其他流程控制语句一起使用,例如if-else语句、while循环等。

以下程序使用带标签的break语句和while循环。每当在程序执行过程中,遇到带标签的break语句,则控件立即跳出封闭的带标签的块。

hackit:
while (Some condition)
{
  if ( a specific condition )
          break hackit;       //label
  else
          //normal business logic goes here..
}

同样,我们也可以将这些语句与经典的if-else语句一起使用。

int i = 10;

outer_if:
if(i > 0) {
  
  inner_if:
  if( i> 5) {

    //...
    break outer_if;
  } else {
  
    //...
  }
}

4。结论

在这个简单的 Java 教程中,我们讨论了以下几点:

  • Java不像其他一些编程语言那样具有通用的goto语句。
  • 简单的break和continue语句会改变程序的正常流程控制。我们可以指定命名标签。标签应该是一个带有冒号的有效Java标识符。
  • 带标签的块只能与break和continue语句一起使用。
  • 带标签的break和continue语句必须在其作用域内调用。我们不能在标签块的作用域之外引用它们。
  • break语句会立即跳转到适当复合语句的末尾(并且跳出该语句块)。
  • continue语句会立即跳转到适当循环的下一个迭代(如果有的话)。
教程 Java基础教程

文章目录 前言  第1章 Java语言基础 第2章 流程控制语句 第3章 面向对象编程 第4章 Java 字符 […]


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/teach/8372.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】