【Java基础学习】Java中break和continue之间的区别
break和continue都是**“跳转”语句**,它们将程序的控制权转移到程序的另⼀部分。break和continue之间的主要区别是break⽤于⽴即终⽌循环。另⼀⽅⾯,continue终⽌当前迭代并将控制恢复到循环的下⼀个迭代。
break语句主要⽤作exit语句,这有助于从当前块或循环中跳出。相反,continue语句有助于从当前循环迭代跳⾄下⼀个循环。
Java⽀持三个跳转语句:break,continue和return。
⽂章⽬录
1. ⽐较表
⽐较基础break continue
任务它终⽌执⾏剩余迭代的循环它仅终⽌循环的当前迭代
break/continue后的控制break将程序的控制恢复到包含该break的循环结束continue将程序的控制恢复到包含continue的该循环的下⼀个迭代
结果它导致循环的提前终⽌它导致尽早执⾏下⼀个迭代
继续性break停⽌循环的继续continue不会停⽌循环的继续,只会停⽌当前的迭代
其他⽤途break可以与switch,label⼀起使⽤continue⽆法与switch和label⼀起执⾏
2. break的定义
在Java中,break具有三个⽤途。第⼀个它⽤于终⽌switch语句中的case,第⼆个⽤于终⽌包含break的循环,最后,java不提供goto语句,但是扩展形式的break可⽤于goto的位置。
第⼀种⽤法:终⽌switch语句中的case执⾏。switch语句中的break只会影响包围中的那个case语句,不会影响其他case语句。
switch(integer expression){
case1:
...
break;
case2:
...
break;
case3:
...
break;
default:
...
}
第⼆种⽤法:强制终⽌循环并在循环的下⼀个语句处恢复。⼀旦在循环内部遇到break语句,该循环将⽴即终⽌,⽽⽆需执⾏该循环主体中的其余代码,并且程序控制将到达循环之后编写的下⼀条语句。
class main_class{
public static void main(string args[]){
for(int i =0; i<100;i++){
System.out.println("i: "+ i);
if(i ==10)
break;
}
System.out.println("Loop breaks here");
}
}
break仅使程序退出将其包围的循环。如果中断与嵌套循环⼀起使⽤,它将仅中断最内层的循环,⽽不会影响外层循环。
第三种⽤法:使⽤break作为goto的形式。Java将break⽤作goto的⼀种形式,⽽没有遇到任何问题。由于goto提供了难以理解的⾮结构化分⽀,并且goto禁⽌编译器优化。
Java使⽤类似于goto的扩展形式的break来帮助⼀次退出多个块,并将程序的控制恢复到带标签的block的结尾,如break语句所述:break label;
class main_class{
public static void main(String args[]){
boolean t =true;
first:{
second:{
third:{
System.out.println("this is third block");
if(t)
break first;
}
System.out.println("this is second block");
}
System.out.println("this is first block");
}
System.out.println("this is main block");
}
}
//output:
//this is third block
//this is main block
3. continue的定义
continue将中断正常的控制流程,continue语句将控制转移到循环的下⼀次迭代。
continue语句跳出当前迭代的代码,并将控制权传递给循环的下⼀个迭代。switch语句必须使用break吗
4. 结论
break和continue语句都是将控制权转移到程序另⼀部分的跳转语句。其中break语句使控制退出循环,⽽continue语句使控制进⼊该循环的下⼀个迭代。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论