4.6 break和continue
break和continue用于循环运行的时候进行控制。它们的功能是:
break:跳出当前循环,不再执行剩余的循环,即使条件仍然成立。break语句的出现宣告了判断是否死循环不能光看条件。
continue:停止执行本次循环剩余的代码,立即回去判断循环条件。
现在我们来看两个例子:
int i=0;
while(i < 100){
i++;
if(i==56)
break;
System.out.println(i);
}
这段代码将打印1、2、3…53、54、55。因为到了56,就符合了中间的if语句,运行了break,剩余的所有循环都被打断不再执行了——就算条件仍然成立。
如果是这样:
int i=0;
while(i < 100){
i++;
if(i==56)
continue;
System.out.println(i);
}
这段代码将打印1、2、3…53、54、55、57、58...99、100。唯独少了56。到了56,就符合了中间的if语句,运行了continue,剩余的代码不再执行,立刻回到条件处。你也可以理解为,重新开始新的一次循环。continue写得不慎,容易造成死循环,例如上面的代码,只要把i++的位置换一下:
int i=0;
while(i < 100){
if(i==56)
continue;
i++;
System.out.println(i);
}
出现了什么?解释一下原因。
continue用得比较少,因为通常用if语句完成了这类功能。下面的这段代码的功能也是打印1、2、3…53、54、55、57、58...99、100:
int i=0;
while(i < 100)
{
i++;
//i不等于56的时候才打印
if(i != 56)
System.out.println(i);
}