break语句和continue语句

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

 

        //break :结束整个循环    
        int count=0;
        while(true){
            int i =(int)Math.round(100*Math.random());//得到一个0-100的随机整数            
            System.out.print(i+" ");
            count++; //循环一次计数器加1
            if(i==88){  //当i等于88时,退出循环
                System.out.println();
                System.out.println("①.循环到第【 "+count+" 】次找到"+i);
                System.out.println("②.break结束整个循环");
                break;
            }
            System.out.print("空  ");
        }
        System.out.println("③.这是循环外面");

 

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

注意事项

      1. continue用在while,do-while中,continue 语句立刻跳到循环首部,越过了当前循环的其余部分。

      2. continue用在for循环中,跳到for循环的迭代因子部分。

 

//        continue:结束本次循环        
//        continue语句:把100~150之间不能被3整除的数输出,并且每行输出5个
        int sum =0;
        for(int i =100;i<=150;i++){
            if(i%3==0){
//                System.out.print("跳    出"+"\t");
                continue;   //跳出本次循环,继续下次循环
            }
            sum++;
            System.out.print(i+"继续\t");
            if(sum%5==0){    //每行输出5个
                System.out.println();
            }
        }

 

遇到被3整除时是这样的:

 

 带标签的break和continue

 

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

 

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

 

      在 “goto有害”论中,最有问题的就是标签,而非goto, 随着标签在一个程序里数量的增多,产生错误的机会也越来越多。 但Java标签不会造成这方面的问题,因为它们的活动场所已被限死,不可通过特别的方式到处传递程序的控制权。由此也引出了一个有趣的问题:通过限制语句的能力,反而能使一项语言特性更加有用。

 

//        带标签break和continue:控制嵌套循环跳转(打印101-150之间所有的质数)
        here:for(int i=101;i<=150;i++){
                for(int j=2;j<i/2;j++){
                    if(i%j==0){
                        continue here;//跳出到here标签处继续循环(内循环跳到外循环)
                    }
                }
            System.out.print(i+" ");
        }

 

 

 

posted @ 2021-04-29 15:57  女王不带冠  阅读(384)  评论(0编辑  收藏  举报