先贴两个代码,然后再分析下问题:

    /*** @Author Young* @Description //测试break 标签和标识符进行跳出上级循环的操作* @Date 10:50 2018/8/6* @Param* @return**/public static void breakReverse(){int i ;a:for (i = 0 ;i<6;i++){for (int j = 3;j<5;j++ ){if (i==4){i=j;break a;}}}System.out.println(i);}
    /*** @Author Young* @Description //使用boolean标识符* @Date 11:01 2018/8/6* @Param* @return**/public static void breakReverse2(){int i;Boolean flag = false;for (i = 0 ;i<6 && !flag;i++){for (int j = 3;j<5;j++ ){if (i==4){i=j;flag=true;break ;}}}System.out.println(i);}

1,在循环外给一个符号(只要不是java关键字都可以),然后就是指定到该循环的位置...如果在以外的循环中,当条件成立时,需要跳出此次循环时,可以直接break 符号;直接终止此次循环..

2,在循环外使用了Boolean类型的flag标签,在进入循环时,是将flag作为一个判断条件执行的.所以,在内嵌的循环中,如果我们有条件成立,需要跳出该循环时,修改标识的flag标签..所以也能达到跳出外部循环的目的..

比较1和2.如果是两层的循环,建立使用2.2的逻辑相对比较清晰,一般在跳出循环的时候,我们不建议使用break "标签名";而我们的逻辑在超过两层循环时(当然这是不规范的代码),使用1的逻辑性和和清晰度就不言而喻了...所以选用哪一种,也是根据具体代码业务来实现的..

而现在还有一点的是,1和2,初看代码是没有多大差别的..但是处理的结果却是不同,1输出的结果是3,而2输出的结果是4.这就是一个坑...是for循环时,非首次时,先执行了后面的i++动作;所以是3+1后,发现flag为true时,跳出循环,而此时i已经+1,所以此时,需要注意一下.

java标志符与break定位跳出多层循环相关推荐

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

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

  2. break如何跳出多层循环?

    break如何跳出多层循环? 案例情景:list1中每组数据有一个卡号,当list2中某组数据的账户于list1相同时,取list2中这组数据的某个字段塞入list1对应的这组数据 ,循环list1中 ...

  3. java 中break如何跳出多层循环(包含二层循环)

    问题:break只能跳出一层循环,如下: while(true){ for (int i = 1; i <= s; i++) {t2++;s2 += v2;if (s2 >= l) {Sy ...

  4. break怎么跳出多层循环C语言,C/C++ 跳出多重循环方法

    C/C++ 跳出多重循环方法 c语言的break语句只能跳出离它最近的一层循环,但是我们有时候需要跳出多层循环,以下有几种跳出多重循环的方法: 1. 使用goto for (int i = 0; i ...

  5. Java中跳出多层循环的简单方法

    在Java程序中可能使用多层循环来处理复杂的逻辑.但如果要从最内层循环跳出最外层循环是比较麻烦.下面的代码是一个三层循环的例子: String[]arr=newString[]{"a&quo ...

  6. c 语言中break是跳出本层循环,C break跳出多层循环

    C break跳出多层循环 在C/C++中,跳出多层循环有3中方法: 1.用break;加上一个辅助的标志变量. 2.用goto; 3.用try   ...   catch; 其中break对if-e ...

  7. java中break内外循环_java 中break如何跳出外部循环

    学习就是为了不断的看到自己的知识盲点,然后改正,以前知道如何使用break来跳出循环,突然学习到可以用break跳出外部的循环(以前只知道怎么调本次的循环). 上正题代码如下: break跳出本次循环 ...

  8. continue和break跳出多层循环的问题

    在多重循环中, break和continue只对当层循环有用,对外层循环没有影响. 如何直接跳出多层循环: 可以在外层循环前面定义一个标号,然后在内层循环中使用带有标号break或者continue的 ...

  9. java中跳出循环终止循环_js for终止循环 跳出多层循环

    今天写带代码的时候遇到一段代码,需要终止运行for,通过遍历json数据实现判断 var Tid="55555"; var jb51cp = [ {id:66666,Cpurl:& ...

最新文章

  1. P2774-方格取数问题【网络流,最大流,最小割】
  2. 【jQuery】实现QQ联系人分组动画
  3. python locust post 参数拼接md5_Locust性能测试--接口加密参数关联
  4. sendTemplateMessage微信小程序消息推送 前段 + 后端(thinkphp3.2)
  5. vue制作圆形进度条
  6. ET99加密狗软件加密锁ET99开发工具下载
  7. c# chart 各个属性_C# Chart各个属性详细解析、应用
  8. 可可私房菜:一个普通中国女孩的移动互联网创业经
  9. 【win10压缩卷问题解决】:无法将卷压缩到超出任何不可移动的文件所在点
  10. github项目下载单个文件夹的办法
  11. 如何快速有效的复习教师资格证?
  12. 第二章:如何撰写学术论文(文科)
  13. IDEA 里 Build、Rebuild、Recompile 的区别
  14. 福布斯发布“亚洲30岁以下杰出青年榜”,中国获奖者近1/4来自AI行业
  15. android+腾讯地图h5,H5调用腾讯地图
  16. 大一python基础编程试卷_2020年大学慕课Python编程基础试题及答案
  17. Ceph部署(二)RGW搭建
  18. 【论文精读】时序逻辑推理之反向传播参数学习 Backpropagation for Parametric STL
  19. 从Intel和ARM双雄争霸读懂芯片的前世今生
  20. 《linux设备驱动程序》——Linux设备模型

热门文章

  1. 沃森变频器使用说明书_沃森(VicRuns)VD120A-GS系列变频器说明书用户手册.doc
  2. 对 Vue-SSR的理解和使用场景
  3. 新型威胁分析与防范研究
  4. Effective c++学习笔记条款20:宁以 pass-by-reference-to-const替换pass-by-value
  5. Mapbox GL可视化之热力图
  6. 【已解决】360扫地机X90拖地不出水怎么办?
  7. 互联网摸鱼日报(2022-12-22)
  8. Java鼠标自动点击及文件内容读取复制
  9. python制作拼图小游戏
  10. 在阿里云云服务器上发布自己的网站(建站|详细)