[18/11/20]break与continue的区别

一、普通break 和continue

1、break:

     break用于强行退出循环,不执行循环中剩余的语句。

2、continue

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

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

代码示例:

 1 public class Test_1120_01 
 2 { //break 的使用 :终止整个循环   continue:终止本次循环
 3     public static void main(String[] args) 
 4     {
 5         int count=0;
 6         for(int i=100;i<=150;i++){
 7             if(i%3==0){
 8             break;//如果这里为break 最终只会输出100、101(显然不符合要求),因为102可以被3整除,遇到break语句后直接跳出整个循环    
 9             }//
10             System.out.printf("%4d",i);
11             count++;
12             if(count%5==0){
13                 System.out.println();
14             }
15             
16         }
17        System.out.println();
18 
19        System.out.println("-------分割线-------");
20 
21        int count1=0;
22         for(int i=100;i<=150;i++){
23             if(i%3==0){
24             continue;//如果这里为 continue 当执行到102时,只会结束本次循环,然后跳到i++处,继续循环检验i=103是否符合要求    
25             }        //以此类推  一直到筛选完毕,即执行到i=200处
26             System.out.printf("%4d",i);
27             count1++;
28             if(count1%5==0){
29                 System.out.println();
30             }
31         }
32         System.out.println();
33     }
34 }

 二、带标签的break 和continue(代替goto)

   加标签outer  代替goto, goto太强大,容易造成程序混乱。(不太常用)

代码示例:

 1 public class Test_1120_02 
 2 {//求100到200之间的质数(素数) 用outer标签
 3     public static void main(String[] args) 
 4     {
 5         outer: for(int i=101;i<=200;i++) //
 6         {
 7             for(int j=2;j<i/2;j++)
 8            {
 9                 if(i%j==0){
10                     continue outer;  //带标签outer 如果满足条件 如i=102 除以2 可以整除,(往下判断没有必要)
11                 }  //遇到outer标签 直接从内循环跳到外循环, 继续判断i=103 的情况
12 
13             }
14             System.out.printf("%4d",i);
15             
16         }
17     }
18 }

 

posted @ 2018-11-20 23:02  ID长安忆  阅读(190)  评论(0)    收藏  举报