break和continue的区别

break和continue的区别:

break: 使用在switch-case,循环结构中 作用:结束当前循环

continue: 使用在循环结构中 作用:结束当次循环

相同点:后面不能声明执行语句,如果加了,会直接报错。

对比下面两份代码和输出结果:

public class breakcontinue01 {

/**
*
* @Desciption
* @author Abraham
* @email 1290807550@qq.com
* @version JDK1.8
* @date 2021年3月16日上午9:01:04
*/


  public static void main(String[] args) {
      for (int i=1;i<10;++i){
          if(i%4==0){
              break; }
          System.out.print(i);
      }
  }
}
//此时break用来结束当前循环
//输出结果为:123
public class breakcontinue01 {

/**
*
* @Desciption
* @author Abraham
* @email 1290807550@qq.com
* @version JDK1.8
* @date 2021年3月16日上午9:01:04
*/


  public static void main(String[] args) {
      for (int i=1;i<10;++i){
          if(i%4==0){
              continue; }
          System.out.print(i);
      }
  }
}
//此时continue用来结束当次循环
//输出结果为:1235679

我们来看看在嵌套循环中break和continue是怎么用的

public class breakcontinue02 {

/**
*
* @Desciption
* @author Abraham
* @email 1290807550@qq.com
* @version JDK1.8
* @date 2021年3月16日上午9:01:04
*/


  public static void main(String[] args) {
      for(int i=1;i<=3;i++){
          for(int j=1;j<=10;j++){
              if(j%4==0) {
                  break;}
              System.out.print(j+" ");
          }
          System.out.println();
      }

  }
}
/*
输出结果:
1 2 3
1 2 3
1 2 3
*/

 

public class breakcontinue02 {

/**
*
* @Desciption
* @author Abraham
* @email 1290807550@qq.com
* @version JDK1.8
* @date 2021年3月16日上午9:01:04
*/


  public static void main(String[] args) {
      for(int i=1;i<=3;i++){
          for(int j=1;j<=10;j++){
              if(j%4==0) {
                  continue;}
              System.out.print(j+" ");
          }
          System.out.println();
      }

  }
}
/*
输出结果:
1 2 3 5 6 7 9 10
1 2 3 5 6 7 9 10
1 2 3 5 6 7 9 10
*/

注意:break和continue都用来控制距离最近的一层循环

 

注意:在循环前加上label标志,然后break label 可以结束内外层循环。

public class breakcontinue02 {

/**
*
* @Desciption
* @author Abraham
* @email 1290807550@qq.com
* @version JDK1.8
* @date 2021年3月16日上午9:01:04
*/


  public static void main(String[] args) {
      label:for(int i=1;i<=3;i++){
          for(int j=1;j<=10;j++){
              if(j%4==0) {
                  break label;}
              System.out.print(j+" ");
          }
          System.out.println();
      }

  }
}
/*
输出结果:
1 2 3
*/

 

注意:在循环前加上label标志,continue label 可以结束内外层当前次执行,注意看结果并没有换行,但是循环仍然继续。

public class breakcontinue02 {

/**
*
* @Desciption
* @author Abraham
* @email 1290807550@qq.com
* @version JDK1.8
* @date 2021年3月16日上午9:01:04
*/


  public static void main(String[] args) {
      label:for(int i=1;i<=3;i++){
          for(int j=1;j<=10;j++){
              if(j%4==0) {
                  continue label;}
              System.out.print(j+" ");
          }
          System.out.println();
      }

  }
}
/*
输出结果:
1 2 3 1 2 3 1 2 3
*/

 

posted @ 2021-03-13 18:50  gAbraham  阅读(485)  评论(0)    收藏  举报