Break语句和Continue语句

break语句(跳出本层循环)spa

  • break 语句能够跳出所在层的循环,这些循环能够是for、while、do-while。

continue语句(跳出本轮循环体的剩余语句,进入到当前循环下的下一轮循环体)code

  • 结束当前循环体剩下的语句,直接进入下一轮循环体的执行。

 

一、break的例子:求100之内的素数blog

public class BreakAndContinue {
    public static void main(String[] args) {
        // 求100之内的全部素数
        int count = 0; // 用来记录素数的个数。
        for (int i = 2; i <= 100; i++) { // 1既不是素数也不会合数,素数从2开始,结束的标志是检查到100.
            for (int j = 2; j <= i; j++) {
                /* 内循环的做用是:依次遍历i范围内的数字,比较它和i的关系。
                 *     例如,若是i是50,那么内循环中的j就依次表明遍历50之内的这些数字,从2到50。
                 * 判断一:
                 *     看它是否能把i整除,若是能够而且它俩不相等,那么说明j是i的因数,那就必定不是素数了。
                 *     这时候就直接跳出内循环,让新的i进入内循环来判断是否为素数。
                 * 判断二:
                 *     若是第一个条件判断不起做用,那么就说明在范围中找不到i的因数,这样就不会跳出循环,而会继续进入下一个判断。
                 *     进入第二个条件判断,j能整除i而且两者相等,这就知足了素数的条件:除了1和它自己没有其余因数。而此时,j就是i自己。
                 *     找到素数输出。
                 */
                if (i % j == 0 && i != j) { // 跳出整个内循环
                    break;
                }
                if (i % j == 0 && i == j) {
                    count++; // 每次找到一个,就对计数器累加一次,从而记录素数的个数。
                    System.out.println("这是第" + count + "个素数,它是" + i + "。");
                }
            }
        }
    }
}

 

 

二、continue的例子class

public class Continue {
    public static void main(String[] args) {
        int count = 0;
        for(int i = 1; i <= 10; i++) {
            if(i == 5) {
                // 遍历到5的时候,就会跳过当前循环体,固然也不会去执行剩下的语句了。
                // 因而就到了下一轮循环(此时i的值是6),因此这里的第5次输出是6而非5,由于5的那一轮循环被跳过了。
                continue;
            }
            count++;
            System.out.println("第" + count + "次输出,输出值为" + i);
        }
    }
}