行业资讯 2025年08月6日
0 收藏 0 点赞 791 浏览 1225 个字
摘要 :

文章目录 1. 语法 2. 简单中断和标签中断的区别 3.带有其他条件语句的标记语句 4。结论 在 Java 中,我们可以标记循环并给它们命名。当我们想要中断或继续多个嵌套循环……




  • 1. 语法
  • 2. 简单中断和标签中断的区别
  • 3.带有其他条件语句的标记语句
  • 4。结论

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

Java 中带标签的 break 和 continue 语句

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

Java 中带标签的 break 和 continue 语句

以同样的方式,我们可以使用带标签的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.zuozi.net/9087.html

管理员

相关推荐
2025-08-06

文章目录 一、Reader 接口概述 1.1 什么是 Reader 接口? 1.2 Reader 与 InputStream 的区别 1.3 …

988
2025-08-06

文章目录 一、事件溯源 (一)核心概念 (二)Kafka与Golang的优势 (三)完整代码实现 二、命令…

465
2025-08-06

文章目录 一、证明GC期间执行native函数的线程仍在运行 二、native线程操作Java对象的影响及处理方…

348
2025-08-06

文章目录 一、事务基础概念 二、MyBatis事务管理机制 (一)JDBC原生事务管理(JdbcTransaction)…

456
2025-08-06

文章目录 一、SnowFlake算法核心原理 二、SnowFlake算法工作流程详解 三、SnowFlake算法的Java代码…

517
2025-08-06

文章目录 一、本地Jar包的加载操作 二、本地Class的加载方法 三、远程Jar包的加载方式 你知道Groo…

832
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号