在任何循环语句的主体部分,均可用 break
控制循环的流程,它用于强行退出循环,不执行循环中剩余的语句。continue
语句在循环语句体中用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。return
的作用是结束当前所在方法的执行。
break
break
的作用是停止最近的循环,例如:
for(int i=1;i<=100;i++){
System.out.println(i);
while(i==36){
break; // 停止的是while循环,而不是外面的for循环
}
}
带标签的 break
可以根据标签来定义循环结束的位置:
public static void main(String[] args){
outer: // 定义标签结束的位置
for(int i=1;i<=100;i++){
System.out.println(i);
while(i==36){
break outer; // 根据标签来结束循环
}
}
}
P.S. 多层循环也可以使用标签,按照自己的需求去设定即可:
outer1: for(){ outer2: for(){ for(){ for(){ break outer2; } } } }
for(;;){}
会造成死循环。Question:do-while, while, for循环谁的效率高?
Answer:一样高,循环只是提高了程序员编写代码的效率,但是底层执行的时候依然是重复执行。
continue
continue
的作用是结束本次离它最近的循环,继续下一次循环:
for(int i=1;i<=100;i++){
while(i==36){
System.out.println("------");
continue; // 输出1-35,然后死循环
}
System.out.println(i);
}
带标签的 continue
可以根据标签来定义下一次循环的位置:
public static void main(String[] args){
outer:
for(int i=1;i<=100;i++){
while(i==36){
continue outer; // 1-100没有36
}
System.out.println(i);
}
}
P.S. 多层循环也可以使用标签,按照自己的需求去设定即可:
outer1: for(){ outer2: for(){ for(){ for(){ continue outer2; } } } }
return
程序中遇到 return
那么 return
所在的那个方法就停止执行了:
public static void main(String[] args){
for(int i=1;i<=100;i++){
while(i==36){
return; // 停止执行
}
System.out.println(i);
}
System.out.println("-----");
}