Java 8跳过本次循环,继续执行以及跳出循环,终止循环的代码实例

10 篇文章 0 订阅
订阅专栏

在Java8之前,最开始使用for i 循环,很老旧,后来有了高级的for each 循环,然后这个跳出本次循环和跳出所有的for循环,都简单,稍微没见过的就是跳出多层for循环。

然后就是Java8出的foreach循环,这个循环里面,break和continue都不管用啦。需要使用return,这个只能跳过本次循环,还是会继续执行for循环的,那么怎么跳出这个Java8的foreach循环呢?

下面对所有的循环,都来了一次操作。

看看如何,跳出当前循环,继续执行;或者直接跳出for循环;或者跳出多层for循环。

?

在Java8之前,最开始使用for i 循环,很老旧,后来有了高级的for each 循环,然后这个跳出本次循环和跳出所有的for循环,都简单,稍微没见过的就是跳出多层for循环。

然后就是Java8出的foreach循环,这个循环里面,break和continue都不管用啦。需要使用return,这个只能跳过本次循环,还是会继续执行for循环的,那么怎么跳出这个Java8的foreach循环呢?

下面对所有的循环,都来了一次操作。

看看如何,跳出当前循环,继续执行;或者直接跳出for循环;或者跳出多层for循环。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

package com.lxk.java8.lambdaTest;

import java.util.Arrays;

import java.util.List;

import java.util.Optional;

/**

 * 跳出for循环

 *

 * @author LiXuekai on 2018/10/23

 */

public class BreakForeach {

 public static void main(String[] args) {

  int max = 5;

  List<String> list = Arrays.asList("123", "12345", "1234", "4321", "1234567", "5678");

  continueForeachJava8(max, list);

  System.out.println();

  breakForeachJava8(max, list);

  System.out.println();

  continueFor(max, list);

  System.out.println();

  breakFor(max, list);

  System.out.println();

  breakManyFor(max, list);

 }

 /**

  * Java8跳过一次foreach循环,然后继续执行。

  */

 private static void continueForeachJava8(int max, List<String> list) {

  list.forEach(s -> {

   if (s.length() >= max) {

    return;

   }

   System.out.println(s);

  });

 }

 /**

  * 跳出Java8的foreach循环

  * 还这没找到,怎么跳出

  */

 private static void breakForeachJava8(int max, List<String> list) {

  //这么做是不对的

  //try {

  // list.forEach(s -> {

  //  if (s.length() >= max) {

  //   throw new Exception();

  //  }

  //  System.out.println(s);

  // });

  //} catch (Exception e) {

  // System.out.println(e.getMessage());

  //}

  //看需求,建议使用如下之一。

  Optional<String> result = list.stream().filter(s -> s.length() >= max).findFirst();

  System.out.println(result.orElse(null));

  boolean lxk = list.stream().anyMatch(s -> s.length() >= max);

  System.out.println(lxk);

 }

 /**

  * continue 跳过本次循环,继续执行。

  */

 private static void continueFor(int max, List<String> list) {

  for (String s : list) {

   if (s.length() >= max) {

    continue;

   }

   System.out.println(s);

  }

 }

 /**

  * break 是直接跳出for循环,不再继续执行for循环到代码了。

  */

 private static void breakFor(int max, List<String> list) {

  for (String s : list) {

   if (s.length() >= max) {

    break;

   }

   System.out.println(s);

  }

 }

 /**

  * break lxk 是直接跳出多层for循环,不再继续执行for循环到代码了。

  */

 private static void breakManyFor(int max, List<String> list) {

  lxk:

  for (String s1 : list) {

   System.out.println("第一层:" + s1);

   for (String s2 : list) {

    System.out.println("第二层:" + s2);

    for (String s3 : list) {

     if (s3.length() >= max) {

      break lxk;

     }

     System.out.println("第三层:" + s3);

    }

   }

  }

 }

}

下面是上面的代码的运行结果,可以对照着看一下。

 

 

 
Java-IO流/Stream流总结
07-12
Java-IO流/Stream流总结,内容一针见血,没有废话,言简意赅 内容:IO流及其分类、分类比较、转换流、缓存流、IO流异常处理、Stream流、Properties教程等。 适合人群:有编程基础及Java基础伙伴 适用场景:Java中的流是随处可见的,涉及文件的操作必须使用IO流,Stream流可以对一些集合进行简便的操作,代码十分优雅,开发中非常常见。
Java8新特性:stream流应用,丢掉for循环实现复杂遍历功能
鳄鱼儿
12-02 2627
到此,基础Stream用户就已经说完了,看到这里我们会发现,所以的stream其实都可以用for循环来实现,而我们全篇都没有使用for循环来实现,这些如果用for循环实现,你会发现实现的语句变得复杂了很多,不信的话,你可以试试。我们也可以看到stream带来的好处,包括代码更简洁、解耦等。
流式编程 stream
weixin_50518344的博客
09-02 433
Stream中文称为流,通过将集合转换为这么一种叫做流的元素序列,通过声明性方式,能够对集合中的每个元素进行一系列并行或串行的流水线操作Java 8中的Stream是对集合Collection对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作或者大批量数据操作。Stream API借助于同样新出现的Lambda表达式,极大的提高编程效率和程序可读性。同时它提供串行和并行两种模式进行汇聚操作,并发模式能够充分利用多核处理器的优势,使用fork/join并行方式来拆分任务和加速处理过程。
Jdk8中Stream流的使用,让你脱离for循环
小鱼吃猫
02-05 3597
学习要求:知道一点儿函数式接口和Lambda表达式的基础知识,有利于更好的学习。 1.先体验一下Stream的好处 需求:给你一个ArrayList用来保存学生的成绩,让你打印出其中大于60的成绩。 public static void main(String[] args) { ArrayList<Integer> arrList = new ArrayList&l...
Stream流
徐小白的日常输出
08-27 3995
1、定义 它能够将数组、集合转换成流,借助Stream API 对流中的元素进行操作,比如筛选、排序、聚合等。这种对流中数据的操作,类似于使用SQL执行的数据库查询。 2、特点 1.1、流不存储元素:照特定的规则对数据进行计算,一般会输出结果 1.2、流不会改变其数据源:通常情况下会产生一个新的集合或一个值 1.3、流执行具有延迟特性:只有调用终端操作时,中间操作才会执行 3、创建 ...
JAVA8跳出循环-forEach实现continue、break效果
热门推荐
u014133299的博客
02-10 4万+
JAVA8跳出循环
JDK8:使用Optional进行变量判空、集合遍历
YHJ
06-12 9438
NPE(Null Pointer Exception)一直是我们最头疼的问题,也是最容易忽视的地方。NPE常是导致Java应用程序失败的最常见的原因。在日常研发工作中,经常会处理各种变量、集合,但在使用的过程中,往往要进行空判断,不然会出现NPE。 JDK8新特性之Optional介绍 Optional类实际上是个容器:它可以保存类型T的值,或者仅仅保存null。Optional 类的引入很好的解决空指针异常。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。尽量避免在程序中直接调用O
java】几种跳出 for循环的方法
小子宝丁的博客
05-05 1万+
Java跳出for循环的三种常见方法:使用break语句可以结束整个for循环执行;使用return语句可以立即退出整个方法从而停止对for循环执行;使用continue语句可以过当前迭代并开始下一个迭代。根据不同的应用场景选择合适的方式。
java跳出for循环
yigeshaoziwei的博客
11-16 7610
1、break 跳出整个for循环,for循环就不再执行 2、continue 跳出当前的循环继续执行for循环的下一个循环体 3、总结:break会跳出终止)当前循环。continue是跳出当前循环,开始下一循环 eg: public static void main(String[] args) { for(int i=0; i< 10;...
Java 跳出For循环总结
zhouzhiwengang的专栏
01-13 7922
break语句可以跳出当前循环;break语句通常配合if,在满足条件时提前结束整个循环;break语句总是跳出最近的一层循环;continue语句可以提前结束本次循环;continue语句通常配合if,在满足条件时提前结束本次循环java8 Stream 不支持关键字break 和continuejava8 Stream 通过return 关键字无法实现暂停/终止foreach 执行。情况一:无返回值函数/**
java跳出循环break;return;continue使用
06-25
java跳出循环break;return;continue使用 . java跳出循环break;return;continue使用 . java跳出循环break;return;continue使用
Java跳出多重嵌套循环代码实例
08-26
主要介绍了Java跳出多重嵌套循环,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
Oracle PLSQL存储过程循环LOOP循环、退出循环终止循环流程详解与实战指南
最新发布
06-04
1、全面覆盖:本资源涵盖了退出当前循环并结束整个循环、结束循环过当前循环终止循环等多种控制策略,确保满足不同场景下的需求。 2、函数示例:提供具体的函数代码和详细注释,让您不仅能理解每种控制策略的...
java循环练习的简单代码实例
09-05
本篇文章介绍了,java循环练习的一些简单代码实例。需要的朋友参考下
Java编程几个循环实例代码分享
08-29
主要介绍了Java编程几个循环实例代码分享,多看多练,小编觉得还是挺不错的,这里分享给大家,供需要的朋友参考。
如何从 Java Stream forEach 中 出来
白石的专栏
11-20 3671
在本文中,我们研究了提供与在流上调用break等效的方法。我们看到了 Java 9 的 takeWhile如何为我们解决大部分问题,以及如何为 Java 8 提供一个版本。
foreach跳出本次/当前循环终止循环方法及switch跳出方法
m0_72167535的博客
02-03 1万+
foreach跳出本次/当前循环终止循环方法
java跳出for循环的三种常见方法
zznn0306的博客
10-11 2805
java中,使用break可以跳出循环,默认情况下是跳出最里层的循环,假如我们要跳出多层循环怎么办呢,Java替我们已经做好了这一点,就是用 循环标签 :即是对某个循环定义一个名字,然后在 break 后面加上这个名字,当符合 break 条件时,程序就会到规定的循环那。这篇文章主要给大家介绍了关于java跳出for循环的三种常见方法,需要的朋友可以参考下。PS:lableB标签的定义需要在使用break lableB语句之前定义。语句会过当前迭代,直接开始下一个迭代。循环的三种常见方法:使用。
java实例do while循环代码
12-07
以下是一个Java实例do while循环代码: ```java public class DoWhileExample { public static void main...do-while循环执行一次循环体,然后在判断循环条件是否成立,如果成立,则继续循环执行,否则跳出循环

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • git pull 拉取远程分支 44323
  • redis-cli: command not found 32178
  • Http 错误:“status“:404,“error“:“Not Found“,“message“:“No message available”,”path“:““ 31311
  • 【Bootstrap】Bootstrap-select多选下拉框实现 28820
  • schedulewithfixeddelay 24657

分类专栏

  • navicat
  • MySQL 64篇
  • Thread详解系列 24篇
  • Semaphore- 1篇
  • redisTemplate 18篇
  • jedis 1篇
  • oracle 2篇
  • JS 6篇
  • jenkins 2篇
  • tomcat 9篇
  • springcloud 1篇
  • 分布式redis 1篇
  • ZOOKEEPER 1篇
  • kafaka 2篇
  • IDEA 10篇
  • 理财杂谈 2篇
  • soringcloud 2篇
  • Undertow 2篇
  • 分布式 4篇
  • IO 4篇
  • cap 3篇
  • 爬虫 1篇
  • easyui 2篇
  • 小结 2篇
  • JAVA 210篇
  • maven 15篇
  • java并发 13篇
  • 计算机基础 6篇
  • linux 84篇
  • jvm优化 9篇
  • servlet-java 2篇
  • 面试总结 4篇
  • SQL 23篇
  • java基本数据类型 3篇
  • 泛型 3篇
  • Java基础 70篇
  • redis 93篇
  • 集合 3篇
  • elasticsearch 7篇
  • 消息队列 2篇
  • bootstrap 37篇
  • websocket 6篇
  • web 51篇
  • 数据结构和算法 7篇
  • Git 20篇
  • VUE 2篇
  • lua-redis 7篇
  • nodejs 2篇
  • 守护线程 3篇
  • cache 1篇
  • spring注解 10篇
  • Thymeleaf 20篇
  • mybatis 33篇
  • ajax 4篇
  • BigDecimal 2篇
  • java8 10篇
  • java开发 5篇
  • 定时任务 2篇

最新评论

  • 四种常见的数组排序方法

    CSDN-Ada助手: 多亏了你这篇博客, 解决了问题: https://ask.csdn.net/questions/8027473, 请多输出高质量博客, 帮助更多的人

  • 为什么不要尝试用int来存手机号?

    solitude843: 还有一个原因就是,使用string而不是int来存储电话号码,可以避免int类型的限制,使得电话号码可以包含各种字符,比如括号、加号、横杠等。

  • redis-cli: command not found

    cheng_yb: 简单有效

  • websocket @ServerEndpoint(value = "/websocket/{ip}")详解

    0000t: 实测有用

  • Initialization of bean failed; nested exception is java.lang.IllegalStateException: Encountered inv

    绿绿歌: 是这样

大家在看

  • Linux第十一章:Samba文件共享服务 294
  • 【机器学习300问】124、什么是LSTM?LSTM的基本结构是怎样的?
  • 2024年阿里巴巴全球数学竞赛首次向人工智能(AI)开放
  • 多目标跟踪中检测器和跟踪器如何协同工作的
  • 0x0000007b应用程序错误解决

最新文章

  • Mybtais判断为空
  • java怎么根据用户设定的时间执行定时任务
  • Http 错误:“status“:404,“error“:“Not Found“,“message“:“No message available”,”path“:““
2022年2篇
2021年9篇
2020年224篇
2019年1063篇
2018年1篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

那些年的代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

两个鬼故事产后恢复连锁机构起名笔记本显卡能换吗属马起名字能用字时间都去哪了歌词鲁鲁修第一季开店能起名字好带雨的诗句石材起名大全参照鼠年男孩起什么姓名教诲的意思起名免费网站模具公司起名照片起名字起名怎么办深圳单身公寓ipad玩游戏没声音家政公司名字怎么起我们来了第一季72炫装修网商行起什么名字杨姓带凯起名如何起名字免费的以张起名大全郭姓女孩起名简单好听小孩起名2021创新科技起名用锦起名称起名字网站用海起名大全罗莎·卡拉乔洛少年生前被连续抽血16次?多部门介入两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”淀粉肠小王子日销售额涨超10倍高中生被打伤下体休学 邯郸通报单亲妈妈陷入热恋 14岁儿子报警何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言张家界的山上“长”满了韩国人?男孩8年未见母亲被告知被遗忘中国拥有亿元资产的家庭达13.3万户19岁小伙救下5人后溺亡 多方发声315晚会后胖东来又人满为患了张立群任西安交通大学校长“重生之我在北大当嫡校长”男子被猫抓伤后确诊“猫抓病”测试车高速逃费 小米:已补缴周杰伦一审败诉网易网友洛杉矶偶遇贾玲今日春分倪萍分享减重40斤方法七年后宇文玥被薅头发捞上岸许家印被限制高消费萧美琴窜访捷克 外交部回应联合利华开始重组专访95后高颜值猪保姆胖东来员工每周单休无小长假男子被流浪猫绊倒 投喂者赔24万小米汽车超级工厂正式揭幕黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发当地回应沈阳致3死车祸车主疑毒驾恒大被罚41.75亿到底怎么缴妈妈回应孩子在校撞护栏坠楼外国人感慨凌晨的中国很安全杨倩无缘巴黎奥运校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变王树国卸任西安交大校长 师生送别手机成瘾是影响睡眠质量重要因素国产伟哥去年销售近13亿阿根廷将发行1万与2万面值的纸币兔狲“狲大娘”因病死亡遭遇山火的松茸之乡“开封王婆”爆火:促成四五十对奥巴马现身唐宁街 黑色着装引猜测考生莫言也上北大硕士复试名单了德国打算提及普京时仅用姓名天水麻辣烫把捣辣椒大爷累坏了

两个鬼故事 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化