(PASS)break 和 continue 的区别

时间:2021-10-05 08:31:21

 

1  break; 

      while循环中,break是用于永久终止循环。即不执行本次循环中break后面的语句,直接跳出循环。 终止,跳出,结束循环(可以作用在任何地方)。也常与switch分支结构合用。
2 continue;
  while循环中,continue是用于终止本次循环。即本次循环中continue后面的代码不执行,进行下一次循环的入口判断。结束本次的循环,进入下一次的循环(只能运用到循环结构中)。

举例1:break退出循环

public static void main(String[] args) {
         int i = 0;
            while (i <= 10)
            {
                if (i == 5){
                    break;
                }
                System.out.println("      "+i+"\n");
                i++;
            }
    }

输出结果: 

(PASS)break 和 continue 的区别

举例2:continue退出当前循环,继续下次循环

public static void main(String[] args) {
        int i = 0;
        while (i <= 10)
        {
            i = i + 1;
            if (i == 5){
                continue;
            }
            System.out.println("      "+i+"\n");
        }
       
    }

输出结果:

(PASS)break 和 continue 的区别

有个问题: 如果是嵌套循环呢?

嵌套循环中break、continue的用法

一.break语句为退出当前循环,在嵌套循环中结果如下:

//break嵌套循环,退出当前内部循环
    public static void main(String[] args) {
        int num= 0;
        for(int i=0;i<5;i++){
            System.out.println("执行外部循环开始");
              for(int j=0;j<5;j++){
                    if  (i==2&&j==2){
                        System.out.println("i:"+i+",j:"+j);
                          break ;
                }
                num++;
                System.out.println("num:"+num);
              }
              
              System.out.println("执行外部循环结束");
        }
        System.out.println(num);
    }

 

(PASS)break 和 continue 的区别

 

 

(PASS)break 和 continue 的区别

 break只退出最内层循环,若想退出所有循环请和label语句连用,从何处结束循环:

//退出所有循环请和label语句连用
public
static void main(String[] args) { int num=0; outermost: for(int i=0;i<5;i++){ System.out.println("执行外部循环开始"); for(int j=0;j<5;j++){ if (i==2&&j==2){ System.out.println("i:"+i+",j:"+j); break outermost; } num++; System.out.println("num:"+num); } System.out.println("执行外部循环结束"); } System.out.println(num); //12 }

(PASS)break 和 continue 的区别

二、continue语句退出当次循环,嵌套结果:

//continue语句退出当次循环,嵌套结果:
    public static void main(String[] args) {
        int num=0;
        for(int i=0;i<5;i++){
             System.out.println("执行外部循环开始");
              for(int j=0;j<5;j++){
                    if  (i==2&&j==2){                        
                        System.out.println("i:"+i+",j:"+j);
                        System.out.println("num:"+num);
                        continue;
                }
                num++;
                System.out.println("i:"+i+",j:"+j+",num:"+num);
              }
             System.out.println("执行外部循环结束");
        }
        System.out.println(num);   //24
    }

(PASS)break 和 continue 的区别

continue语句和label语句连用,从何处继续循环:

//continue语句和label语句连用,从何处继续循环:
    public static void main(String[] args) {
        int num=0;
        outermost:
        for(int i=0;i<5;i++){
            System.out.println("执行外部循环开始");
              for(int j=0;j<5;j++){
                if (i==2&&j==2){  
                        System.out.println("i:"+i+",j:"+j);
                        System.out.println("num:"+num);
                        continue outermost;
                }
                 num++;
                 System.out.println("i:"+i+",j:"+j+",num:"+num);
            }
            System.out.println("执行外部循环开始");
        }
        System.out.println(num);     //22
    }

(PASS)break 和 continue 的区别

 参考文档: https://www.cnblogs.com/lodadssd/p/6238370.html