break、continue、goto

break、continue、goto

break

  • break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)

  • 代码

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

continue

  • continue 语句用在循环体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

  • 代码

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

go to 关键字

  • go to关键字很早就在程序设计语言中出现,尽管go to仍是Java的一个保留字,但并未在语言中得到正式使用;Java没有goto。然而,在break和continue这两个关键字的身上,我们仍然能看出一些goto的影子---带标签的break和continue。

  • “标签”是指后面跟一个冒号的标识符。例如:label:

  • 对Java来说唯一用到标签的地方是循环语句之前。而在循环语句之前设置标签唯一的理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,它们就会中段到标签存在的地方。

  • 代码

        public static void main(String[] args) {
            //打印101-150之间的所有质数
            //质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数
    
            int count = 0;
    
            //不建议使用!
            outer:for(int i=101;i<150;i++){
                for (int j=2;j<i/2;j++){
                    if(i%j==0){
                        continue outer;
                    }
                }
                System.out.print(i+" ");
            }
        }
    
上一篇:Day14 -- Java流程控制03


下一篇:程序员丢不掉的“十种陋习”!第一种就是拷贝,你敢说你不用?