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

时间:2024-06-12 23:33:50

一、普通break 和continue

1、break:

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

2、continue

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

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

代码示例:

 public class Test_1120_01
{ //break 的使用 :终止整个循环 continue:终止本次循环
public static void main(String[] args)
{
int count=0;
for(int i=100;i<=150;i++){
if(i%3==0){
break;//如果这里为break 最终只会输出100、101(显然不符合要求),因为102可以被3整除,遇到break语句后直接跳出整个循环
}//
System.out.printf("%4d",i);
count++;
if(count%5==0){
System.out.println();
} }
System.out.println(); System.out.println("-------分割线-------"); int count1=0;
for(int i=100;i<=150;i++){
if(i%3==0){
continue;//如果这里为 continue 当执行到102时,只会结束本次循环,然后跳到i++处,继续循环检验i=103是否符合要求
} //以此类推 一直到筛选完毕,即执行到i=200处
System.out.printf("%4d",i);
count1++;
if(count1%5==0){
System.out.println();
}
}
System.out.println();
}
}

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

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

代码示例:

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