Java中break、continue、return语句的使用区别对比

 更新时间:2015年06月06日 12:07:22   投稿:junjie  
这篇文章主要介绍了Java中break、continue、return语句的使用区别对比,本文用非常清爽简明的语言总结了这三个关键字的使用技巧,并用一个实例对比使用结果,需要的朋友可以参考下

break、continue、return之间的区别与联系
在软件开发过程中,逻辑清晰是非常之重要的。 代码的规范也是非常重要的。往往细节决定成败。在编写代码的时候,一定要理解语言的作用以及使用的方法和场景。下面来介绍一下break、continue、return三者的区别和联系。

1. break :

(1).结束当前整个循环,执行当前循环下边的语句。忽略循环体中任何其它语句和循环条件测试。
(2).只能跳出一层循环,如果你的循环是嵌套循环,那么你需要按照你嵌套的层次,逐步使用break来跳出。[逐层判断,逐步跳出]
(3).break在循环体内,强行结束循环的执行,也就是结束整个循环过程,不在判断执行循环的条件是否成立,直接转向循环语句下面的语句。
(4).当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。
总的来说:就近原则,结束当前的整个循环。

2. return:

(1).return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行。
(2).return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致。
(3). return后面也可以不带参数,不带参数就是返回空,其实主要目的就是用于想中断函数执行,返回调用函数处。

3. continue:

(1).终止本次循环的执行,即跳过当前这次循环中continue语句后尚未执行的语句,接着进行下一次循环条件的判断。
(2).结束当前循环,进行下一次的循环判断。
(3).终止当前的循环过程,但他并不跳出循环,而是继续往下判断循环条件执行语句.他只能结束循环中的一次过程,但不能终止循环继续进行.

代码如下:

复制代码 代码如下:

public static void test() {

        for (int i = 0; i < 10; i++) {
            if (i == 3) {
                // break;//
                // continue;//i=3的时候结束这一次的循环,继续执行i=4的循环
                return;// 直接结束整个函数

            }
            System.out.println("----" + i);
        }

        System.out.println("-111--");

    }

附图片:

当为return的时候:

当为continue的时候:

当为break的时候:

相关文章

  • Java Scanner的使用和hasNextXXX()的用法说明

    Java Scanner的使用和hasNextXXX()的用法说明

    这篇文章主要介绍了Java Scanner的使用和hasNextXXX()的用法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Mybatis实现数据的增删改查实例(CRUD)

    Mybatis实现数据的增删改查实例(CRUD)

    本篇文章主要介绍了Mybatis实现数据的增删改查实例(CRUD),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • 详解用java描述矩阵求逆的算法

    详解用java描述矩阵求逆的算法

    这篇文章主要介绍了用java描述矩阵求逆的算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • RocketMQ实现消息分发的步骤

    RocketMQ实现消息分发的步骤

    RocketMQ 实现消息分发的核心机制是通过 Topic、Queue 和 Consumer Group 的配合实现的,下面给大家介绍RocketMQ实现消息分发的步骤,感兴趣的朋友一起看看吧
    2024-03-03
  • application.yaml与bootstrap.yaml的使用

    application.yaml与bootstrap.yaml的使用

    这篇文章主要介绍了application.yaml与bootstrap.yaml的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • Spring Security动态权限的实现方法详解

    Spring Security动态权限的实现方法详解

    这篇文章主要和小伙伴们简单介绍下 Spring Security 中的动态权限方案,以便于小伙伴们更好的理解 TienChin 项目中的权限方案,感兴趣的可以了解一下
    2022-06-06
  • Spring整合Quartz分布式调度的示例代码

    Spring整合Quartz分布式调度的示例代码

    本篇文章主要介绍了Spring整合Quartz分布式调度的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • 使用restTemplate远程调controller路径取数据

    使用restTemplate远程调controller路径取数据

    这篇文章主要介绍了使用restTemplate远程调controller路径取数据,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • 聊聊SpringMVC项目依赖和静态资源导出问题

    聊聊SpringMVC项目依赖和静态资源导出问题

    这篇文章主要介绍了SpringMVC项目依赖和静态资源导出问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • java多线程编程之使用Synchronized关键字同步类方法

    java多线程编程之使用Synchronized关键字同步类方法

    JAVA中要想解决“脏数据”的问题,最简单的方法就是使用synchronized关键字来使run方法同步,看下面的代码,只要在void和public之间加上synchronized关键字
    2014-01-01

最新评论