• 是这样的,今天看RocketMQ的Client的时候,里面出现了一个写Java没有看到过的东西 - - 记录一下。
  • 也是就是带标签的break;
    RocketMQ的Client中的使用
while(true) {label122: {switch(communicationMode) {case ASYNC:return null;case ONEWAY:return null;case SYNC:if () {return sendResult;}default:break label122;}}}
  • 其实很容易理解:就是标记代码块为label122 当执行到default的时候break到代码块执行。
  • 怎么用呢?
package io.ilss.rocketmq.demo;/*** className Main* description Main** @author feng* @version 1.0* @date 2019-03-10 13:45*/
public class Main {public static void main(String[] args) {label1:for (int i = 0; i < 10; i++) {label2:if (i > 0) {if (i > 8) {break label1;}System.out.print(i + " ");if (i > 3) {break label2;}System.out.print(" if end ");}label3: {if (i > 5) {break label3;}System.out.print(", label3 block");}System.out.println(", for end ");}}
}
  • 以下是输出结果:
/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/bin/java "-javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=52397:/Applications/IntelliJ IDEA.app/Contents/bin" -Dfile.encoding=UTF-8 -classpath /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/jaccess.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/jfxswt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/lib/dt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/lib/javafx-mx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/lib/jconsole.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/lib/packager.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/lib/sa-jdi.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/lib/tools.jar:/Users/feng/Projects/idea/springboot-rocketmq-ilss/target/classes:/Users/feng/Developer/mvn-repository/org/springframework/boot/spring-boot-starter/2.1.3.RELEASE/spring-boot-starter-2.1.3.RELEASE.jar:/Users/feng/Developer/mvn-repository/org/springframework/boot/spring-boot/2.1.3.RELEASE/spring-boot-2.1.3.RELEASE.jar:/Users/feng/Developer/mvn-repository/org/springframework/spring-context/5.1.5.RELEASE/spring-context-5.1.5.RELEASE.jar:/Users/feng/Developer/mvn-repository/org/springframework/spring-aop/5.1.5.RELEASE/spring-aop-5.1.5.RELEASE.jar:/Users/feng/Developer/mvn-repository/org/springframework/spring-beans/5.1.5.RELEASE/spring-beans-5.1.5.RELEASE.jar:/Users/feng/Developer/mvn-repository/org/springframework/spring-expression/5.1.5.RELEASE/spring-expression-5.1.5.RELEASE.jar:/Users/feng/Developer/mvn-repository/org/springframework/boot/spring-boot-autoconfigure/2.1.3.RELEASE/spring-boot-autoconfigure-2.1.3.RELEASE.jar:/Users/feng/Developer/mvn-repository/org/springframework/boot/spring-boot-starter-logging/2.1.3.RELEASE/spring-boot-starter-logging-2.1.3.RELEASE.jar:/Users/feng/Developer/mvn-repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar:/Users/feng/Developer/mvn-repository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar:/Users/feng/Developer/mvn-repository/org/apache/logging/log4j/log4j-to-slf4j/2.11.2/log4j-to-slf4j-2.11.2.jar:/Users/feng/Developer/mvn-repository/org/apache/logging/log4j/log4j-api/2.11.2/log4j-api-2.11.2.jar:/Users/feng/Developer/mvn-repository/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.jar:/Users/feng/Developer/mvn-repository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar:/Users/feng/Developer/mvn-repository/org/springframework/spring-core/5.1.5.RELEASE/spring-core-5.1.5.RELEASE.jar:/Users/feng/Developer/mvn-repository/org/springframework/spring-jcl/5.1.5.RELEASE/spring-jcl-5.1.5.RELEASE.jar:/Users/feng/Developer/mvn-repository/org/yaml/snakeyaml/1.23/snakeyaml-1.23.jar:/Users/feng/Developer/mvn-repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar:/Users/feng/Developer/mvn-repository/org/apache/rocketmq/rocketmq-client/4.4.0/rocketmq-client-4.4.0.jar:/Users/feng/Developer/mvn-repository/org/apache/rocketmq/rocketmq-common/4.4.0/rocketmq-common-4.4.0.jar:/Users/feng/Developer/mvn-repository/org/apache/rocketmq/rocketmq-remoting/4.4.0/rocketmq-remoting-4.4.0.jar:/Users/feng/Developer/mvn-repository/com/alibaba/fastjson/1.2.51/fastjson-1.2.51.jar:/Users/feng/Developer/mvn-repository/io/netty/netty-all/4.1.33.Final/netty-all-4.1.33.Final.jar:/Users/feng/Developer/mvn-repository/org/apache/rocketmq/rocketmq-logging/4.4.0/rocketmq-logging-4.4.0.jar:/Users/feng/Developer/mvn-repository/io/netty/netty-tcnative-boringssl-static/2.0.20.Final/netty-tcnative-boringssl-static-2.0.20.Final.jar:/Users/feng/Developer/mvn-repository/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar io.ilss.rocketmq.demo.Main
, label3 block, for end
1  if end , label3 block, for end
2  if end , label3 block, for end
3  if end , label3 block, for end
4 , label3 block, for end
5 , label3 block, for end
6 , for end
7 , for end
8 , for end Process finished with exit code 0

不难看出,这其实就是满足条件跳出给定label的代码块。不再执行。和单独的break其实类似,单独的break作用于循环,带label的break作用于你定义的代码块。但是有一点,break label的位置一定要在label代码块的内部。否则无效,语法错误。

就这样咯。

Java基础—break label 带标签的break语句的用法。相关推荐

  1. Java 1.3.1 带标签的 break语句

    与 C++ 不同,Java 还提供了一种带标签的 break语句,用于跳出多重嵌套的循环语句. 标签必须放在希望跳出的最外 层循环之前, 并且必须紧跟一个冒号. Scanner in = new Sc ...

  2. 【Java基础】使用带有标签的break,跳出多层循环

    带有标签的break 多层for循环嵌套中,在某一个for循环前面加一个标签,如label:,在需要break的时候就可以直接break出多层循环,跳至label处(label后面紧跟的循环也被跳出) ...

  3. Java中带标签的break和continue

    Java中带标签的break和continue 目录 Java中带标签的break和continue 1.单独使用break 2.带标签的break 3.单独使用continue 4.带标签的cont ...

  4. Java中带标签的break,continue

    首先不带标签的break,continue 就不介绍了.大家平时用的最多的也就是这样的情况了. 首先Java中没有goto,但是可以利用带标签的break, continue来实现类似的跳转. 首先来 ...

  5. Java基础-控制流程-5. 中断控制流程语句

    为什么80%的码农都做不了架构师?>>>    Java设计者在语言中增加了一条带标签的break,以此来支持这种程序设计风格. 下面先来看看不带标签的break语句.与用于退出sw ...

  6. 带标签的循环语句、switch

    今天继续更新,控制流程的剩余部分内容,带标签的循环语句中的continue/break 的使用方法,以及switch关键字的使用方法.例1:带标签的continue/break.package com ...

  7. java异常—— finally 子句+带资源的 try语句

    [0]README 0.1) 本文描述+源代码均 转自 core java volume 1, 旨在理解 java异常-- finally 子句+带资源的 try语句 的相关知识: [1] final ...

  8. java数组循环动态赋值_04、Java基础语法(循环嵌套、break、continue、方法、方法的重载、数组动态初始化)...

    复习: 流程控制语句 - 顺序结构 - 分支结构 - if-else - switch - 循环结构 - for - while - do...while ctrl + alt + L 格式化代码 & ...

  9. 【Java基础学习笔记】- Day11 - 第四章 引用类型用法总结

    Java基础学习笔记 - Day11 - 第四章 引用类型用法总结 Java基础学习笔记 - Day11 - 第四章 引用类型用法总结 4.1 class作为成员变量 4.2 interface作为成 ...

最新文章

  1. windowns 8.1 缺少.net3.5解决方案
  2. 如何找回被create or replace覆盖的PL/SQL对象
  3. C++ const成员Demo - Win32 版本
  4. 串结构练习——字符串连接
  5. [转]你所不知的 CSS ::before 和 ::after 伪元素用法
  6. mongodb创建用户和密码
  7. 文字常量区和栈区考点
  8. 三星Galaxy Note 10再曝正面渲染图:居中前置摄像头更顺眼
  9. python新手难点_初学两天python的操作难点总结
  10. java鼠标中键_java-selenium鼠标键盘操作Actions类和Robot
  11. 三思笔记,涂抹ORACLE
  12. 为什么老师说尽量别用wps(图文详解)
  13. haversine根据经纬度算距离
  14. window计算机截屏快捷键,windows截图工具快捷键,win7截屏快捷键是哪个
  15. office2010专业版
  16. 【论文精读】Single-Perspective Warps in Natural Image Stitching-自然图像拼接中的单透视扭曲
  17. 【python】rank函数
  18. 若菜光个人小档案(dambolo)
  19. 去了字节跳动,才知道年薪 40w 的 90 后 Android 开发者有这么多?
  20. 几种高特键轴的简单总结

热门文章

  1. Proteus介绍以及下载、安装遇到的问题
  2. C# log4net将日志写入sql server,winform项目
  3. txplatform.exe分析及病毒解决
  4. 史上最搞笑的笑话,送给我为情所伤的兄弟们,以及我自己!!
  5. U-BOOT小全(六):BootLoader源码(UBoot-Kernel 1)
  6. 网盘搜索引擎汇总——快速搜索你想要的资料
  7. python爬大学生就业数据_小猪的Python学习之旅 —— 16.再尝Python数据分析:采集拉勾网数据分析Android就业行情...
  8. web前端开发入门笔记(更新中)
  9. 苹果数据线不能充电_iPhone12不送耳机和充电器,以后数据线苹果也不会送了
  10. hdu-6989 Pass!(广义斐波那契数列求通项+bsgs)