在自己学习java语言的过程中,很容易把break和continue的用法混淆。为了便于以后快速查阅及温习,在此特留学习笔记一份。

简述

在任何迭代语句的主体部分,都可以用break和continue控制循环的流程。其中,break用于强行退出循环,不执行循环中剩余的语句。而continue则停止执行当前迭代,然后退回循环起始处,开始下一次迭代。

源码

下面这个程序向大家展示了break和continue在for和while循环中的例子:

package com.mufeng.thefourthchapter;

public class BreakAndContinue {

public static void main(String[] args) {

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

if (i == 74) {// Out of for loop

break;

}

if (i % 9 != 0) {// Next iteration

continue;

}

System.out.print(i + " ");

}

System.out.println();

int i = 0;

while (true) {

i++;

int j = i * 27;

if (j == 1269) {// Out of loop

break;

}

if (i % 10 != 0) {// Top of loop

continue;

}

System.out.print(i + " ");

}

}

}

输出结果

01.0 9 18 27 36 45 54 63 72

02.10 20 30 40源码解析

在这个for循环中,i的值永远不会达到100,因为一旦i到达74,break语句就会中断循环。通常,只有在不知道中断条件何时满足时,才需要这样使用break。只要i不能被9整除,continue语句就会使执行过程返回到循环的最开头(这使i值递增)。如果能够整除,则将值显示出来。输出结果之所以显示0,是由于0%9等于0。

最后,可以看到一个“无穷while循环”的情况。然而,循环内部有一个break语句,可中止循环。除此之外,大家还会看到continue语句执行序列移回到循环的开头,而没有去完成continue语句之后的所用内容。(只有在i能被10整除时才打印出值。)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。

java if中的continue_java中break和continue源码解析相关推荐

  1. python处理回显_Python中getpass模块无回显输入源码解析

    本文主要讨论了python中getpass模块的相关内容,具体如下. getpass模块 昨天跟学弟吹牛b安利Python标准库官方文档的时候偶然发现了这个模块.仔细一看内容挺少的,只有两个主要api ...

  2. JAVA并发容器-ConcurrentHashMap 1.7和1.8 源码解析

    HashMap是一个线程不安全的类,在并发情况下会产生很多问题,详情可以参考HashMap 源码解析:HashTable是线程安全的类,但是它使用的是synchronized来保证线程安全,线程竞争激 ...

  3. java 并发框架源码_某网Java并发编程高阶技术-高性能并发框架源码解析与实战(云盘下载)...

    第1章 课程介绍(Java并发编程进阶课程) 什么是Disruptor?它一个高性能的异步处理框架,号称"单线程每秒可处理600W个订单"的神器,本课程目标:彻底精通一个如此优秀的 ...

  4. java B2B2C Springboot多租户电子商城系统-Eureka源码解析...

    Eureka的限流算法类RateLimiter是基于令牌桶算法来实现的,下面看一看令牌桶算法的原理: 需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码 一零 ...

  5. 0基础快速入门CSS技术栈(5)—图解详细阐述说透CSS的盒子模型(超级重要)、圆角边框、盒子阴影及相关重要的笔试题——css的核心中的核心(附详细案例源码解析过程)2021.01.07更新

    文章目录 1. 盒子模型(CSS重点) 1.1 看透网页布局的本质 1.2 盒子模型(Box Model) 1.3 盒子边框(border) 1.3.1 边框综合设置 1.3.2 example01 ...

  6. 【SpringBoot系列】 Spring中自定义Session管理,Spring Session源码解析

    系列文章:Spring Boot学习大纲,可以留言自己想了解的技术点 目录 系列文章:Spring Boot学习大纲,可以留言自己想了解的技术

  7. 遗传算法锦标赛选择java实现_多目标遗传算法 ------ NSGA-II (部分源码解析)二元锦标赛选择 tourselect.c...

    tourselect.c  文件中共有两个函数: selection (population *old_pop, population *new_pop) individual* tournament ...

  8. java 并发框架源码_Java并发编程高阶技术-高性能并发框架源码解析与实战

    Java并发编程高阶技术-高性能并发框架源码解析与实战 1 _0 Z' @+ l: s3 f6 r% t|____资料3 Z9 P- I2 x8 T6 ^ |____coding-275-master ...

  9. Java中带标签的break和continue

    Java中带标签的break和continue 目录 Java中带标签的break和continue 1.单独使用break 2.带标签的break 3.单独使用continue 4.带标签的cont ...

最新文章

  1. 【CV】PAA论文解读:在物体检测中利用概率分布来将anchor分配为正负样本
  2. U-LanD:基于不确定性的视频地标检测
  3. 如何远程链接linux服务器,如何远程登陆Linux/Windows服务器
  4. acegis连接使用方法_正确打开效果器 连接方法和使用技巧必须要知道
  5. leetcode 775. Global and Local Inversions | 775. 全局倒置与局部倒置(Java)
  6. windows下Call to undefined function curl_init() error问题
  7. Linux系统各文件、目录介绍
  8. Linux:为什么性能工具需要 BPF 技术
  9. UTF-8 encode decode 集合
  10. 进入linux jed文本编辑怎么退出,Linux文本编辑器Jed
  11. Django Ajax文件下载
  12. 成都互联网公司和生活成本
  13. F28335的SCI模块
  14. SpringBoot实现MySQL读写分离
  15. killall为什么有时候会找不到进程?
  16. Spring Security登录成功后重定向到登陆前页面 解决方案
  17. 剪不断,理还乱--Oracle的字符集乱码问题
  18. Python爬取中国大学排名,并且保存到excel中
  19. LocalDate获取一年的周数,及指定周数周一到周日对应得日期
  20. 字节跳动数仓面试 三道题-JAVA编程+hive窗口

热门文章

  1. (ICLR 2020)COMPOSING TASK-AGNOSTIC POLICIES WITH DEEP REINFORCEMENT LEARNING
  2. 美团招聘计算机视觉算法岗实习生
  3. 清华规划院 伟景行 诚聘 Jsp/Java/Web高级开发工程师 互联网开发主管 测试工程师 etc.
  4. 如何学好C++语言—酷壳
  5. python中seaborn是什么_Python-Seaborn绘图(matplotlib补充)
  6. 攻略:手把手教你如何看懂以太坊区块链浏览器(配图更清晰)
  7. C 语言项目中.h文件和.c文件的关系
  8. Unity3D基础案例-双人坦克
  9. 2021年山东省青少年人工智能培训
  10. ubuntu常用的服务器搭建