break 和 continue

 

 1. break 用于强行退出整个循环

2. continue 用于结束本次循环 , 继续下一次

 

带标签的continue/break语句(命名循环)

“标签”是指后面跟一个冒号的标识符,例如:“label :”。对 Java 来说唯一用到标签的地方是循环语句之前。

“goto”有害论中,最有问题的是标签而不是goto本身,随着标签在一个程序的出现次数越来越多,产生bug的机会也越来越多。

但是Java标签不会产生这个问题(goto被删掉了),因为已经锁死了其作用范围,不可通过特别的方式到处传递程序的控制权。

【示例】

// 打印 101 ~ 150 之间所有的质数

public class Test {
    public static void main(String[] args){
        outer : for(int i = 101; i < 150; i ++){
            for(int j = 2; j < i/2; j ++){
                if(i % j == 0)
                    continue outer; // 符合某条件跳到外部循环继续
                    // 此处换成单break 会执行下面的输出语句
            }
            System.out.print(i + " ");
        }
    }
}
public class Test {
    public static void main(String[] args){
        int target = 100;
        int point = 0;
        outer: while(target <= 100){
            for(int i = 0; i < target; i ++){
                if(point >= 50)
                    break outer; // 如果换成continue 该程序将永无止境
                point += i;
            }
        }
        System.out.println(point);
    }
}

 

posted @ 2022-01-25 14:09  我就一水  阅读(147)  评论(0)    收藏  举报