我们是否应该中断这项活动,不再继续?

2026-05-29 05:291阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1493个文字,预计阅读时间需要6分钟。

我们是否应该中断这项活动,不再继续?

在平时的发展过程中,经常会遇到循环。在写循环的过程中,会有很多判断条件和逻辑。你知道如何结束一个循环吗?在Java中,有break、continue、return三个关键字都可以用来结束循环。

  在平时的开发过程中,经常会用到循环,在写循环的过程中会有很多判断条件及逻辑,你知道如何结束一个循环吗?在java中有break、continue、reture三个关键字都可以结束循环,我们看下他们的区别。

一、break 1.1、单层循环

我们先看下在只有一层循环的情况下,break是怎么起作用的,

我们是否应该中断这项活动,不再继续?

package com.my.day02; import java.util.ArrayList; import java.util.List; /** * 测试break * @date 2022/5/23 21:13 */ public class TestBreak { public static void main(String[] args) { endCycle(); } /** * 单层循环 */ static void endCycle(){ List<String> list=new ArrayList<String>(); list.add("1"); list.add("2"); list.add("3"); list.add("4"); for(String str:list){ if(str.equals("3")){ break; } System.out.println("单层:"+str); } } }

结果如下,

单层:1 单层:2 Process finished with exit code 0

在单层循环中,break结束的是整个循环,后续的不再执行;

1.2、多层循环

看下单层循环和多层循环有区别吗,

package com.my.day02; import java.util.ArrayList; import java.util.List; /** * 测试break * @date 2022/5/23 21:13 */ public class TestBreak { public static void main(String[] args) { endMultiCycle(); } /** * 多层循环 */ static void endMultiCycle(){ List<String> list=new ArrayList<String>(); list.add("1"); list.add("2"); list.add("3"); list.add("4"); List<String> innerList=new ArrayList<String>(); innerList.add("A"); innerList.add("B"); innerList.add("C"); for(String str:list){ for(String innerStr:innerList){ if(innerStr.equals("B")){ break; } System.out.println("外层:"+str+",内层:"+innerStr); } } } }

我们来看下多层循环会是什么结果那,

外层:1,内层:A 外层:2,内层:A 外层:3,内层:A 外层:4,内层:A Process finished with exit code 0

可以看到内层循环仅执行了一次。由此,在多层循环下,break结束的是本层循环。

对于,break这个关键字,结束的是本层循环,满足break条件后的循环不会执行。

二、continue 2.1、单层循环

先看下在单层循环下,continue是如何工作的,

package com.my.day02; import java.util.ArrayList; import java.util.List; /** * 测试continue * @date 2022/5/23 21:17 */ public class TestContinue { public static void main(String[] args) { endCycle(); } static void endCycle(){ List<String> list=new ArrayList<String>(); list.add("1"); list.add("2"); list.add("3"); list.add("4"); for(String str:list){ if(str.equals("3")){ continue; } System.out.println(str); } } }

执行结果如下,

1 2 4 Process finished with exit code 0

没用打印”3“,由此得出结论,continue在单层循环下,结束的是该循环中的本次循环,后面的循环会继续执行。在多次循环下呐?

2.2、多层循环

在多层循环下,

package com.my.day02; import java.util.ArrayList; import java.util.List; /** * 测试continue * @date 2022/5/23 21:17 */ public class TestContinue { public static void main(String[] args) { endMultiCycle(); } /** * 多层循环-continue */ static void endMultiCycle(){ List<String> list=new ArrayList<String>(); list.add("1"); list.add("2"); list.add("3"); list.add("4"); List<String> innerList=new ArrayList<String>(); innerList.add("A"); innerList.add("B"); innerList.add("C"); for(String str:list){ for(String innerStr:innerList){ if(innerStr.equals("B")){ continue; } System.out.println("外层:"+str+",内层:"+innerStr); } } } }

执行结果是下面这样的,

外层:1,内层:A 外层:1,内层:C 外层:2,内层:A 外层:2,内层:C 外层:3,内层:A 外层:3,内层:C 外层:4,内层:A 外层:4,内层:C Process finished with exit code 0

可以看到外层循环正常,内层循环只有"B"未打印。由此,在多层循环下,continue结束的是本层循环中的本次循环

三、return

小伙伴们肯定知道return代表方法的返回,那么用在循环中它是怎么起作用的呐,

3.1、单层循环

package com.my.day02; import java.util.ArrayList; import java.util.List; /** * 测试return * @date 2022/5/23 21:40 */ public class TestReturn { public static void main(String[] args) { endCycle(); } /** * 单层循环 */ static void endCycle(){ List<String> list=new ArrayList<String>(); list.add("1"); list.add("2"); list.add("3"); list.add("4"); for(String str:list){ if(str.equals("3")){ return; } System.out.println("单层:"+str); } System.out.println("方法结束"); } }

执行结果,

单层:1 单层:2 Process finished with exit code 0

可以看到”方法结束“和”“3”后面的循环都未打印。在单层循环中,return会结束整个方法。

3.2、多层循环

package com.my.day02; import java.util.ArrayList; import java.util.List; /** * 测试return * @date 2022/5/23 21:40 */ public class TestReturn { public static void main(String[] args) { endMultiCycle(); } /** * 多层循环 */ static void endMultiCycle(){ List<String> list=new ArrayList<String>(); list.add("1"); list.add("2"); list.add("3"); list.add("4"); List<String> innerList=new ArrayList<String>(); innerList.add("A"); innerList.add("B"); innerList.add("C"); for(String str:list){ for(String innerStr:innerList){ if(innerStr.equals("B")){ return; } System.out.println("外层:"+str+",内层:"+innerStr); } } } }

结果如下,

外层:1,内层:A Process finished with exit code 0

从上面的结果可以知道,在外层循环的第一次循环时,内层循环到“B”就会执行“return”,这时没再执行后面的。多层循环中,return结束的是整个方法的执行。

四、总结

  今天在写程序时用到了多层循环,想结束内层循环,突然对如何结束循环有点把握不准,为此有了本文。

 1、break用在结束本层循环,后面的循环不会继续执行;

  2、continue用在结束本层循环中的本次循环,后面的循环会跳过本次循环继续执行,直到本层循环结束;

  3、return结束的是整个方法;

一个爱写文章的程序员,欢迎关注我的公众号“北漂程序员”。我有故事,你有酒吗

本文共计1493个文字,预计阅读时间需要6分钟。

我们是否应该中断这项活动,不再继续?

在平时的发展过程中,经常会遇到循环。在写循环的过程中,会有很多判断条件和逻辑。你知道如何结束一个循环吗?在Java中,有break、continue、return三个关键字都可以用来结束循环。

  在平时的开发过程中,经常会用到循环,在写循环的过程中会有很多判断条件及逻辑,你知道如何结束一个循环吗?在java中有break、continue、reture三个关键字都可以结束循环,我们看下他们的区别。

一、break 1.1、单层循环

我们先看下在只有一层循环的情况下,break是怎么起作用的,

我们是否应该中断这项活动,不再继续?

package com.my.day02; import java.util.ArrayList; import java.util.List; /** * 测试break * @date 2022/5/23 21:13 */ public class TestBreak { public static void main(String[] args) { endCycle(); } /** * 单层循环 */ static void endCycle(){ List<String> list=new ArrayList<String>(); list.add("1"); list.add("2"); list.add("3"); list.add("4"); for(String str:list){ if(str.equals("3")){ break; } System.out.println("单层:"+str); } } }

结果如下,

单层:1 单层:2 Process finished with exit code 0

在单层循环中,break结束的是整个循环,后续的不再执行;

1.2、多层循环

看下单层循环和多层循环有区别吗,

package com.my.day02; import java.util.ArrayList; import java.util.List; /** * 测试break * @date 2022/5/23 21:13 */ public class TestBreak { public static void main(String[] args) { endMultiCycle(); } /** * 多层循环 */ static void endMultiCycle(){ List<String> list=new ArrayList<String>(); list.add("1"); list.add("2"); list.add("3"); list.add("4"); List<String> innerList=new ArrayList<String>(); innerList.add("A"); innerList.add("B"); innerList.add("C"); for(String str:list){ for(String innerStr:innerList){ if(innerStr.equals("B")){ break; } System.out.println("外层:"+str+",内层:"+innerStr); } } } }

我们来看下多层循环会是什么结果那,

外层:1,内层:A 外层:2,内层:A 外层:3,内层:A 外层:4,内层:A Process finished with exit code 0

可以看到内层循环仅执行了一次。由此,在多层循环下,break结束的是本层循环。

对于,break这个关键字,结束的是本层循环,满足break条件后的循环不会执行。

二、continue 2.1、单层循环

先看下在单层循环下,continue是如何工作的,

package com.my.day02; import java.util.ArrayList; import java.util.List; /** * 测试continue * @date 2022/5/23 21:17 */ public class TestContinue { public static void main(String[] args) { endCycle(); } static void endCycle(){ List<String> list=new ArrayList<String>(); list.add("1"); list.add("2"); list.add("3"); list.add("4"); for(String str:list){ if(str.equals("3")){ continue; } System.out.println(str); } } }

执行结果如下,

1 2 4 Process finished with exit code 0

没用打印”3“,由此得出结论,continue在单层循环下,结束的是该循环中的本次循环,后面的循环会继续执行。在多次循环下呐?

2.2、多层循环

在多层循环下,

package com.my.day02; import java.util.ArrayList; import java.util.List; /** * 测试continue * @date 2022/5/23 21:17 */ public class TestContinue { public static void main(String[] args) { endMultiCycle(); } /** * 多层循环-continue */ static void endMultiCycle(){ List<String> list=new ArrayList<String>(); list.add("1"); list.add("2"); list.add("3"); list.add("4"); List<String> innerList=new ArrayList<String>(); innerList.add("A"); innerList.add("B"); innerList.add("C"); for(String str:list){ for(String innerStr:innerList){ if(innerStr.equals("B")){ continue; } System.out.println("外层:"+str+",内层:"+innerStr); } } } }

执行结果是下面这样的,

外层:1,内层:A 外层:1,内层:C 外层:2,内层:A 外层:2,内层:C 外层:3,内层:A 外层:3,内层:C 外层:4,内层:A 外层:4,内层:C Process finished with exit code 0

可以看到外层循环正常,内层循环只有"B"未打印。由此,在多层循环下,continue结束的是本层循环中的本次循环

三、return

小伙伴们肯定知道return代表方法的返回,那么用在循环中它是怎么起作用的呐,

3.1、单层循环

package com.my.day02; import java.util.ArrayList; import java.util.List; /** * 测试return * @date 2022/5/23 21:40 */ public class TestReturn { public static void main(String[] args) { endCycle(); } /** * 单层循环 */ static void endCycle(){ List<String> list=new ArrayList<String>(); list.add("1"); list.add("2"); list.add("3"); list.add("4"); for(String str:list){ if(str.equals("3")){ return; } System.out.println("单层:"+str); } System.out.println("方法结束"); } }

执行结果,

单层:1 单层:2 Process finished with exit code 0

可以看到”方法结束“和”“3”后面的循环都未打印。在单层循环中,return会结束整个方法。

3.2、多层循环

package com.my.day02; import java.util.ArrayList; import java.util.List; /** * 测试return * @date 2022/5/23 21:40 */ public class TestReturn { public static void main(String[] args) { endMultiCycle(); } /** * 多层循环 */ static void endMultiCycle(){ List<String> list=new ArrayList<String>(); list.add("1"); list.add("2"); list.add("3"); list.add("4"); List<String> innerList=new ArrayList<String>(); innerList.add("A"); innerList.add("B"); innerList.add("C"); for(String str:list){ for(String innerStr:innerList){ if(innerStr.equals("B")){ return; } System.out.println("外层:"+str+",内层:"+innerStr); } } } }

结果如下,

外层:1,内层:A Process finished with exit code 0

从上面的结果可以知道,在外层循环的第一次循环时,内层循环到“B”就会执行“return”,这时没再执行后面的。多层循环中,return结束的是整个方法的执行。

四、总结

  今天在写程序时用到了多层循环,想结束内层循环,突然对如何结束循环有点把握不准,为此有了本文。

 1、break用在结束本层循环,后面的循环不会继续执行;

  2、continue用在结束本层循环中的本次循环,后面的循环会跳过本次循环继续执行,直到本层循环结束;

  3、return结束的是整个方法;

一个爱写文章的程序员,欢迎关注我的公众号“北漂程序员”。我有故事,你有酒吗