java中break和continue的区分?

在循环语句中遇到这两个的时候总感觉有些迷糊,难以区分,下面给出示例来描述区别。

注意:break 直接跳出循环,执行循环后的代码;continue,结束本次循环,执行下次循环(即跳过本次循环)
循环嵌套中,外层循环执行一次,内层循环执行一遍。

(1) 单层循环

public class Test {

   public static void main(String[] args) {
       for(int i = 0; i <= 5; i++){
           if(i == 3){
               break;  //结束循环
           }
           System.out.println("i = " + i);
       }
   }
}

在这里插入图片描述

  for(int i = 0 ; i <= 3; i++){
            if(i == 2){
                continue;
            }
            System.out.println("i = " + i);
        }

在这里插入图片描述
(2)循环嵌套中使用,break语句结束其所在的当前循环,继续之后的代码以及外层循环。

for(int i  = 0 ; i <= 3; i++){
            for(int j = 1; j <= 5; j++){
                if(j == 3){
                    break;
                }
                System.out.println("内层j: " + j);
            }
            System.out.println("外层i: " + i);
        }

在这里插入图片描述

  for(int i = 0; i <= 3; i++){
            for(int j = 0 ; j <= 5; j++){
                if(j == 3){
                    continue;
                }
                System.out.println("内层j: " + j);
            }
            System.out.println("外层i: " + i );
        }

在这里插入图片描述

(3)break语句不仅可以结束其所在的循环,还可以直接结束其外层循环。此时需要在break后紧跟一个标签,这个标签用于标识一个外层循环。Java中的标签就是一个紧跟英文冒号(:)的标识符。与其它语言不同的是,Java中的标签只有放在循环语句之前才有作用。

 //外层循环,outer作为标识符
        outer:

        for(int i = 0; i < 10; i++){
            //内层循环
            for(int j = 0; j < 5; j++){
                System.out.println("i的值:" + i + " , j的值:" + j);
                if(j == 2){

                    //跳出outer标签所标记的循环
                    break outer;
                }

            }
        }

在这里插入图片描述

(4)与break类似的,continue后也可紧跟一个标签,用于直接跳过标签所标识循环的当次循环的剩下语句,重新开始下一次循环。

 public static void main(String[] args) {
      

        //外层循环,outer作为标识符
        outer:

        for(int i = 0; i < 10; i++){
            //内层循环
            for(int j = 0; j < 5; j++){
                System.out.println("i的值:" + i + " , j的值:" + j);
                if(j == 2){

                    //跳过outer标签所标记的循环
                    continue outer;
                }

            }
        }
    }

在这里插入图片描述

其实,这些示例要想明白最好使用debug模式来进行流程的查看,小小建议

在这里插入图片描述

发布了37 篇原创文章 · 获赞 7 · 访问量 1622

猜你喜欢

转载自blog.csdn.net/weixin_43862596/article/details/102831147