专栏首页notelessjava continue break 关键字 详解 区别 用法 标记 标签 使用 示例 联系

java continue break 关键字 详解 区别 用法 标记 标签 使用 示例 联系

本文关键词:

java continue break 关键字 详解 区别  用法 标记  标签 使用 示例 联系   跳出循环 带标签的continue和break 嵌套循环  深入continue break 跳出双层循环 goto替代

continue和break都用来中断循环,但是中断内容不同

break是跳出循环, continue是跳出当次循环

                for (int i = 0; i < 6; i++) {

                        System.out.println(i);
                        if (3 == i) {
                                break;
                        }
                }

                System.out.println("++++++++++++++++");

                for (int i = 0; i < 6; i++) {

                        System.out.println(i);
                        if (3 == i) {
                                continue;
                        }
                }

从结果也可以看得出来:break跳出当前循环,continue跳出当次循环


详细说明:

break在循环块中的作用是跳出当前正在循环的循环体

continue用于结束循环体中当次循环其后语句的执行,并跳回循环程序块的开头执行下一次循环

如果是多层循环,原理仍旧相通,break跳出内层正在循环的循环体,continue跳回内层循环的开头

也就是说多层循环下,break和continue仍旧是控制当前循环,并不是所有

                 for (int i = 0; i < 6; i++) {

                        for (int j = 0; j < 6; j++) {
                                if (2 == j) {
                                        break;
                                }
                                System.out.print(i + "----->" + j+"    ");
                        }
                        System.out.println();
                }

 内层循环直接跳出中断掉,外层循环依旧按顺序执行

                 for (int i = 0; i < 6; i++) {

                        for (int j = 0; j < 6; j++) {
                                if (2 == j) {
                                        continue;
                                }
                                System.out.print(i + "----->" + j+"    ");
                        }
                        System.out.println();
                }
外层循环依旧,内层循环仅仅跳过了j=2的值,其他的值依旧正常循环

如果带标签,那么break 和continue生效的循环就不再是当前了,而是标签指定的

                label:
                for (int i = 0; i < 6; i++) {

                        for (int j = 0; j < 6; j++) {
                                if (2 == j) {
                                        break label;
                                }
                                System.out.print(i + "----->" + j+"    ");
                        }
                        System.out.println();
                }
直接break 标签的循环,执行了两次就再也没有输出了
                label:
                for (int i = 0; i < 6; i++) {

                        for (int j = 0; j < 6; j++) {
                                if (2 == j) {
                                        continue label;
                                }
                                System.out.print(i + "----->" + j+"    ");
                        }
                        System.out.println();
                }
continue跳出当次循环,继续标签处代表的循环进行继续执行,所以下面的System.out.println();根本都执行不到的

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JDBC设计理念浅析 JDBC简介(一)

    JDBC是J2EE的标准规范之一,J2EE就是为了规范JAVA解决企业级应用开发制定的一系列规范,JDBC也不例外。

    noteless
  • springmvc 项目完整示例09 maven项目创建

    注意,以下所有需要建立在你的eclipse等已经集成配置好了maven了,说白了就是新建项目的时候已经可以找到maven了

    noteless
  • [十]JavaIO之FilterInputStream FilterOutputStream

    FilterInputStream  FilterOutputStream都是装饰器模式中的Decorator抽象装饰角色

    noteless
  • 第三天 引用类型选择结构循环结构【悟空教程】

    奋斗蒙
  • Java基础-多重循环

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    cwl_java
  • Java SE | 基础语法day03

    其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结 束。

    剑走天涯
  • (七)c#Winform自定义控件-进度条

    GitHub:https://github.com/kwwwvagaa/NetWinformControl

    冰封一夏
  • 我的WCF之旅(7):面向服务架构(SOA)和面向对象编程(OOP)的结合——如何实现Service Contract的继承

    当今的IT领域,SOA已经成为了一个非常时髦的词,对SOA风靡的程度已经让很多人对SOA,对面向服务产生误解。其中很大一部分人甚至认为面向服务将是面向对象的终结...

    蒋金楠
  • Linux上获取CPU Core个数的实现

    1) 调用系统提供的函数get_nprocs(),可以在头文件sys/sysinfo.h中发现它

    一见
  • 利用message queue实现aspx与winform通信, 并附完整示例

    先在本机(本文中的计算机名为jimmyibm)安装message queue(消息队列),别告诉我你不会安装.(就跟安装IIS差不多的) 安装好后,打开 "计算...

    菩提树下的杨过

扫码关注云+社区

领取腾讯云代金券