疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java中break和continue的区别详解


 

   

  序言

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

  简述

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

  源码

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

  [java]

  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 + " ");

  }

  }

  }

  输出结果

  [java]

  0 9 18 27 36 45 54 63 72

  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整除时才打印出值。)