jsva-day19_5

1、break 用于跳出循环,注意不会结束程序,只是结束循环,如果循环外还有其他代码,不会被break影响

package struct;

public class BreakDemo {
    public static void main(String[] args) {
        int i = 0;
        while(i<100){
            i++;
            System.out.println(i);
            if (i==30){
                break;
            }
        }
    }

}

2、continue用在循环体中,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定

package struct;

public class BreakDemo {
    public static void main(String[] args) {
        int i = 0;
        while (i<100){
            i++;
            if (i%10==0){
                System.out.println();  //当是10的倍数的时候就换一行
                continue; //当是10的倍数就跳过执行后续语句
            }
            System.out.print( i ); //注意这里是print,不是printI,如果不满足if的条件就在同一行输出
        }
    }

}

continue相对于break的区别是continue只是跳过某次循环,但是不会退出整体循环,而是跳出当次循环,进入下一次循环

3、goto关键字
一般是在break 或者 continue中标签进行使用的
比如下面这个使用outer标签搭配continue从内部的循环跳到外部的循环。标签名字不一定是outer,可以自定义

package struct;

public class LableDemo {
    public static void main(String[] args) {
        //打印101-150之间的所有质数
        //除了1和它本身没有其他的因数

        int count = 0;
        outer:for (int i=101;i<150;i++){
            for (int j=2;j<i/2;j++){  //用i/2是进行优化,因为如果j>=i/2.是不会被整除的,这里要判断的是如果被整除就跳过这个数
                if (i%j==0){
                    continue outer; //outer是标签,名字可以自定义
                }
            }
            System.out.print(i+"\t");
        }

    }

}

``
上一篇:Continue和Break


下一篇:for循环,break,continue的在for用法