Java 中带标签的 break 和 continue 语句

IT 文章2年前 (2023)发布 小编
0 0 0

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

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

1. 语法

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

ad

程序员导航

优网导航旗下整合全网优质开发资源,一站式IT编程学习与工具大全网站

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语句仅终止指定它的立即循环。因此,即使我们从内循环中中断,它仍然会继续执行外循环的当前迭代。

Java 中带标签的 break 和 continue 语句

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

Java 中带标签的 break 和 continue 语句

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

ad

AI 工具导航

优网导航旗下AI工具导航,精选全球千款优质 AI 工具集

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语句会立即跳转到适当循环的下一个迭代(如果有的话)。

[course ids=7934]

© 版权声明

相关文章

暂无评论

暂无评论...