zoukankan      html  css  js  c++  java
  • Java中的break和continue 区别

    break可以离开当前switch、for、while、do while的程序块,并前进至程序块后下一条语句,在switch中主要用来中断下一个case的比较。在for、while与do while中,主要用于中断目前的循环执行。

    注意:循环嵌套时只会跳出带break那层的循环,例如

     1 class test{
     2     public static void main(String[] args) {
     3             for (int i = 0; i < 3; i++) {
     4                 for (int j = 0; j < 4; j++) {
     5                     if (j == 3) {
     6                         break;
     7                     }
     8                     System.out.println("j" + j);
     9                 }
    10                 System.out.println("i" + i);
    11             }
    12 
    13     }
    14 }

    只会跳出内层循环,j=3那层没有,结果如下:

     1 j0
     2 j1
     3 j2
     4 i0
     5 j0
     6 j1
     7 j2
     8 i1
     9 j0
    10 j1
    11 j2
    12 i2

    continue的作用与break类似,主要用于循环,所不同的是break会结束程序块的执行,而continue只会结束其之后程序块的语句,并跳回循环程序块的开头继续下一个循环,而不是离开循环,这个一般比较好理解。

    break与continue还可以配合标签使用,例如本来break只会离开for循环,设定标签与程序块,则可以离开整个程序块。下面来进行示范:

     1 public class BreakTest {
     2     public static void main(String[] args) {
     3         back : {
     4             for(int i = 0; i < 10; i++) {
     5                 if(i == 9) {
     6                     System.out.println("break");
     7                      break back;
     8                 }
     9             }
    10             System.out.println("test");
    11         }
    12     }
    13 }

    程序的执行结果会显示break;back是个标签,当break back;时,返回至back标签处,之后整个back程序块不执行而跳过,所以这个程序System.out.println("test");不会被执行。

    事实上continue也有类似的用法,只不过标签只能设定在for之前,看下面的例子:

     1 public class ContinueTest {
     2 
     3     public static void main(String[] args) {
     4         back1:
     5         for(int i = 0; i < 10; i++){
     6             back2:
     7             for(int j = 0; j < 10; j++) {
     8                 if(j == 9) {
     9                     continue back1;
    10                 }
    11             }
    12             System.out.println("test");
    13         }
    14     }
    15 }

    continue配合标签,可以自由地跳至任何一层for循环,您可以试试continue back1与continue back2的不同。设定back1时,System.out.println("test");不会被执行。

  • 相关阅读:
    Bundle类
    AlertDialog
    认识Android
    TextView属性详解
    Android中设置文字大小的定义类型
    理解偏差
    python爬虫实验2
    python爬虫实验
    PHP sql注入漏洞修复(字符串型)
    java实现远程控制
  • 原文地址:https://www.cnblogs.com/skyblue123/p/13190186.html
Copyright © 2011-2022 走看看