return、break、continue三者的区别(转载只为查阅方便,若有侵权,立删)

前言

一般刚开始遇到这三个关键字,都会有点乱,return还好,特别是break和continue,特别容易搞混,所以这里记录一下

正文

 1、return :直接跳出当前的方法,返回到该调用的方法的语句处,继续执行

 2.   break:在循环体内结束整个循环过程

 3.  continue :结束本次的循环,直接进行下一次的循环

测试

 这样说还好像还是有点不太直观,直接放代码测试一下:
 我分别为return ,break,continue 写了三个方法,
  相同点:方法里面都是一个for循环,每次循环都会做打印,结束循环后在方法体中也会打印,方法执行结束返回主
                 函数后也有打印。
  不同点:其中在for循环中做了一个条件判断,如果i = 3时,三个方法分别执行return ,break,continue

这样我们通过打印信息就可以看到三个关键字对于for循环执行过程的控制和当前所在方法执行过程的控制啦


三个测试函数:

 
  1. package aa;

  2.  
  3. public class Test {

  4.  
  5. public static void main(String[] args) {

  6.  
  7. testBreak();

  8. testContinue();

  9. testReturn();

  10.  
  11. System.out.println("--主函数------------");

  12.  
  13. }

  14.  
  15. /**

  16. * break测试方法

  17. */

  18. private static void testBreak() {

  19. for (int i = 0; i < 5; i++) {

  20.  
  21. if (i == 3) {

  22. break;

  23. }

  24. System.out.println("--break------------" + i);

  25. }

  26.  
  27. System.out.println("--break-------for循环外-----");

  28.  
  29. }

  30.  
  31. /**

  32. * continue测试方法

  33. */

  34. private static void testContinue() {

  35. for (int i = 0; i < 5; i++) {

  36.  
  37. if (i == 3) {

  38. continue;

  39. }

  40. System.out.println("--continue------------" + i);

  41. }

  42.  
  43. System.out.println("--continue-------for循环外-----");

  44.  
  45. }

  46.  
  47. /**

  48. * Return测试方法

  49. */

  50. private static void testReturn() {

  51. for (int i = 0; i < 5; i++) {

  52.  
  53. if (i == 3) {

  54. return;

  55. }

  56. System.out.println("--return------------" + i);

  57. }

  58.  
  59. System.out.println("--return-------for循环外-----");

  60.  
  61. }

  62.  
  63. }


break的测试打印结果


continue的测试打印结果


return的测试打印结果

结论:

    从打印可以看出:
    break:     当i = 3时,执行break后,直接到for循环外,打印--break-------for循环外-----,所以break的作用是结束
                     循环
    continue: 当i = 3时,执行continue后,没有打印接下的--continue------------3,但是下一次循环还是打印了,所以
                      continue只是结束了本次循环,
    return:     当i = 3时,执行return后,不仅结束了循环,而且结束了方法,直接回到主函数了,所以return的作用
                      是结束了所在方法的调用

总结:

  return     : 作用于方法,结束当前方法,主要用来返回方法返回值,当方法有返回值的时候,返回对应类型的返回
                     值,没有返回值时,可以返回空,或者不返回
  continue : 作用于语法结构,结束当前方法,结束当前结构,主要用于循环的加速
  break      : 作用于语法结构,作用于结构结束当前结构,主要多用于循环和switch结构中

这里说一下,我上面说的结构,是指循环体结构结构,switch结构等,不知道怎么形容了这种东西了,哈哈,感觉语法结构咋一听也不知道是什么,解释一下哈

理解好这个三个关键字,使用这三个关键字可以提高代码的执行效率。

注意:

当前两个字,是指当前所在的结构,例如下面当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体

代码:

breakbreak

 
  1. /**

  2. * break测试方法

  3. */

  4. private static void testBreak1() {

  5. for (int i = 0; i < 5; i++) {

  6.  
  7. switch (i) {

  8. case 3:

  9. break;

  10. default:

  11. System.out.println("--switch------------" + i);

  12. }

  13. System.out.println("--for---------------" + i);

  14. }

  15.  
  16. System.out.println("----------for循环外-----");

  17.  
  18. }


打印结果:

猜你喜欢

转载自blog.csdn.net/qq_36389327/article/details/82706706