博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java continue break 关键字 详解 区别 用法 标记 标签 使用 示例 联系
阅读量:6711 次
发布时间:2019-06-25

本文共 2623 字,大约阅读时间需要 8 分钟。

 

本文关键词:

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();根本都执行不到的

 

转载于:https://www.cnblogs.com/noteless/p/9261810.html

你可能感兴趣的文章
greenDao多表关联
查看>>
【译】Vertical-Align: All You Need To Know
查看>>
Visual Studio 2017正式发布
查看>>
强化学习遭遇瓶颈!分层RL将成为突破的希望
查看>>
接口限流的常用算法汇总
查看>>
Kong 发布 Kong Brain 和 Kong Immunity,可进行智能自动化和适应性监控
查看>>
IBM推出实时跨境支付解决方案Blockchain World Wire
查看>>
IBM中国开发中心吉燕勇: 通过Cloud Data Services打造新型认知计算数据分析云平台...
查看>>
Hybrid App走向“轻混”,剖析WeX5开源高性能HTML5 App开发框架
查看>>
网易戏精ARCore短视频新玩法实践
查看>>
华泰证券:如何自研高效可靠的交易系统通信框架?
查看>>
使用Flutter之后,我们的CPU占用率降了50%
查看>>
我们究竟应不应该使用框架?
查看>>
Deis发布1.4版本,支持Microsoft Azure
查看>>
用于.NET Core的ORM
查看>>
慎用!BLEU评价NLP文本输出质量存在严重问题
查看>>
如何撰写好文档?精益文档的六个实践
查看>>
随手记统一监控平台Focus设计解析
查看>>
中国平安“豪赌”科技?从产险业务IT变形计聊起
查看>>
RSocket:一个面向反应式应用程序的新型应用网络协议
查看>>