控制循环跳转关键字:break和continue
break
break使用场景:用于中断循环
![](https://i-blog.csdnimg.cn/blog_migrate/aa7c87ba628098a56b365ee2b7bb8efd.png)
当有循环嵌套时,break只会跳出最内层循环
代码例子:
public class Demo {
public static void main(String[] args){
for(int i=0; i<3; i++){ //外层循环不受影响
for(int j=0; j<=4; j++){ //break只会跳出内层循环
if(j==3){
break;
}
System.out.println("i="+i +","+"j="+j);
}
System.out.println("中断内层循环,输出结果" ); //会继续执行
}
System.out.println("外层循环");
}
}
结果:
i=0,j=0
i=0,j=1
i=0,j=2
中断内层循环,输出结果
i=1,j=0
i=1,j=1
i=1,j=2
中断内层循环,输出结果
i=2,j=0
i=2,j=1
i=2,j=2
中断内层循环,输出结果
外层循环
Java标签功能,可让break跳出外层循环
语法:
标签名:循环体{
break 标签名;
}
例子:
public class Demo {
public static void main(String[] args){
JavaLoop: for(int i=0; i<3; i++){
for(int j=0; j<=4; j++){
if(j==3){
break JavaLoop; //跳出整个for循环
}
System.out.println("i="+i +"," + "j="+j);
}
System.out.println("中断内层循环,输出结果" ); //不会执行
}
System.out.println("外层循环");
}
}
结果:
i=0,j=0
i=0,j=1
i=0,j=2
外层循环
continue
continue使用场景:用于执行下一次循环。
注意:switch中不需要使用continue
![](https://i-blog.csdnimg.cn/blog_migrate/51a39c0b024867eb816d3266cf684c7c.png)
代码例子:
public class Demo {
public static void main(String[] args){
for(int i=1; i<=10; i++){
if(i%2==0){ //如果是偶数,则执行continue
continue; //执行continue后开始执行下一次循环
}
System.out.println("i=" +i); //后面的代码会被略过,因此偶数没有打印出来
}
}
}
结果:
i=1
i=3
i=5
i=7
i=9
continue也只作用于内层循环,如果想要控制外层循环也可以使用标签,如图所示
![](https://i-blog.csdnimg.cn/blog_migrate/1c03950e52b0019225e617b6fd10a908.png)
代码:continue作用于内层循环
public class Demo {
public static void main(String[] args){
for(int i=1; i<3; i++){ //外层不受影响
for (int j=1; j<5; j++){
if(j==3){
continue;
}
System.out.println("内层i=" +i +"," +"j=" +j); //j=3时未打印
}
}
}
}
结果:
内层i=1,j=1
内层i=1,j=2
内层i=1,j=4
内层i=2,j=1
内层i=2,j=2
内层i=2,j=4
代码:continue通过标签作用于外层循环
public class Demo {
public static void main(String[] args){
Loop: for(int i=1; i<3; i++){ //continue执行下一次外层循环
for (int j=1; j<5; j++){
if(j==3){
continue Loop; //加标签后continue直接跳到外层for循环,执行下一次外层循环
}
System.out.println("内层i=" +i +"," +"j=" +j);
}
System.out.println("外层i=" +i); //程序不会执行
}
}
}
结果:
内层i=1,j=1
内层i=1,j=2
内层i=2,j=1
内层i=2,j=2