java中break和continue源码解析

 更新时间:2016年06月16日 11:18:40   作者:mufeng_慕枫  
这篇文章主要针对java中break和continue的区别进行详细介绍,帮助大家更好的学习了解java中break和continue源码,感兴趣的小伙伴们可以参考一下

在自己学习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整除时才打印出值。)

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

相关文章

  • springboot+redis分布式锁实现模拟抢单

    springboot+redis分布式锁实现模拟抢单

    这篇文章主要介绍了springboot+redis分布式锁实现模拟抢单,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • Java实现一个达达租车系统的步骤详解

    Java实现一个达达租车系统的步骤详解

    这篇文章主要给大家介绍了利用Java实现一个达达租车系统的步骤,文中给出了详细的实现思路和示例代码,并在文末给出了完整的源码供大家学习下载,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-04-04
  • tomcat部署java web项目遇到的问题及解决方法

    tomcat部署java web项目遇到的问题及解决方法

    这篇文章主要介绍了tomcat部署java web项目遇到的问题及解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • MyBatis动态SQL特性详解

    MyBatis动态SQL特性详解

    动态SQL可以省略很多拼接SQL的步骤,使用类似于JSTL方式,下面这篇文章主要给大家介绍了关于Mybatis动态SQL特性的相关资料,文字通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • Mybatisplus集成springboot完成分页查询功能(示例代码)

    Mybatisplus集成springboot完成分页查询功能(示例代码)

    今天小编给大家分享Mybatisplus集成springboot完成分页查询功能,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2023-11-11
  • 用Java实现春联 支持自定义字体颜色

    用Java实现春联 支持自定义字体颜色

    大家好,本篇文章主要讲的是用Java编写春联 支持自定义字体颜色,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • Java中的隐式参数和显示参数实例详解

    Java中的隐式参数和显示参数实例详解

    这篇文章主要介绍了Java中的隐式参数和显示参数是什么,另外还有两个小例子帮助大家理解,需要的朋友可以参考下。
    2017-08-08
  • Netty中ChannelPoolHandler调用处理程序详解

    Netty中ChannelPoolHandler调用处理程序详解

    这篇文章主要介绍了Netty中ChannelPoolHandler调用处理程序详解,Netty 是基于 Java NIO 的异步事件驱动的网络应用框架,使用 Netty 可以快速开发网络应用,Netty 提供了高层次的抽象来简化 TCP 和 UDP 服务器的编程,但是你仍然可以使用底层的 API,需要的朋友可以参考下
    2023-11-11
  • Spring学习通过AspectJ注解方式实现AOP操作

    Spring学习通过AspectJ注解方式实现AOP操作

    这篇文章主要为大家介绍了Spring学习通过AspectJ注解方式实现AOP操作,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Java中Lombok的@Builder注解注意事项

    Java中Lombok的@Builder注解注意事项

    这篇文章主要介绍了Java中Lombok的@Builder注解注意事项,使用Lombok也会造成很多问题,尤其@Builder 有个很大的坑,已经见过好几次由于使用@Builder注解导致默认值失效的问题,如果测试时没有在意这个问题,就很容易引发线上问题,需要的朋友可以参考下
    2023-12-12

最新评论