普通for循环和Java8中foreach()循环中return,continue,break的用法

2025-12-03 21:16:45

目录

1 前言

2 普通for循环中return,continue,break的用法

3 Java8中foreach()的用法

4 如何退出Java8中的foreach()循环

4.1 anyMatch(Predicate p)

1 前言

在我们平时开发中,会发现Java8的foreach()循环使用率要远远大于之前的普通for循环使用,它们二者在使用上还是有许多区别的。之前能跳出普通for循环使用的一些关键字在Java8中的foreach()循环中却不能使用。

2 普通for循环中return,continue,break的用法

return: 直接结束当前方法

@Test

public void testForeach(){

List list = Arrays.asList("123", "456", "789", "abc", "ccc");

for (String str: list) {

if (str.equals("789")){

return;

}

System.out.println(str);

}

System.out.println("方法正在进行。。。。。");

}

continue:结束当前循环,进入下一循环

@Test

public void testForeach(){

List list = Arrays.asList("123", "456", "789", "abc", "ccc");

for (String str: list) {

if (str.equals("789")){

continue;

}

System.out.println(str);

}

System.out.println("方法正在进行。。。。。");

}

break:结束此次for循环

@Test

public void testForeach(){

List list = Arrays.asList("123", "456", "789", "abc", "ccc");

for (String str: list) {

if (str.equals("789")){

break;

}

System.out.println(str);

}

System.out.println("方法正在进行。。。。。");

}

3 Java8中foreach()的用法

return: 结束当前循环,进入下一循环

@Test

public void testForeach(){

List lists = Arrays.asList("123", "456", "789", "abc", "ccc");

lists.forEach(list->{

if (list.equals("789")){

return;

}

System.out.println(list);

});

System.out.println("方法正在进行。。。。。");

}

注意:Java8中的lambda表达式foreach()不支持continue和break关键字

4 如何退出Java8中的foreach()循环

4.1 anyMatch(Predicate p)

/**

* anyMatch(Predicate p) 传入一个断言型函数,对流中所有的元素进行判断

* 只要有一个满足就返回true,都不满足就返回false,返回true时就结束了循环

*/

@Test

public void testForeach(){

List lists = Arrays.asList("123", "456", "789", "abc", "ccc");

lists.stream().anyMatch(list->{

if (list.equals("789")){

return true;

}

System.out.println(list);

return false;

});

System.out.println("方法正在进行。。。。。");

}

/**

* 这种写法不便于测试理解,但简便,平时推荐使用这种

*/

@Test

public void testForeach(){

List lists = Arrays.asList("123", "456", "789", "abc", "ccc");

lists.stream().anyMatch(list-> list.equals("789"));

System.out.println("方法正在进行。。。。。");

}

以上,我们就理清了普通for循环和Java8foreach()循环中的关系,以及使用Java8中lambda表达式做出跳出循环操作的方法。暂时写到这里,有机会会继续补充,不对的地方还请批评指正。

想要了解更多编程小知识,快来关注公众号:爪哇开发吧!每周会不定时的进行更新。

Copyright © 2022 游戏活动大全网 - 全网活动一网打尽 All Rights Reserved.