[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 }

浙公网安备 33010602011771号