吃透 Java 中的 break 与 continue
我们紧接着讲解java中的循环控制器,break和continue
让我们一个个来讲
break
这个break,在switch分支语句的时候,我们就讲到过break,相信大家也不是很陌生。break在switch语句中可以用来防止case穿透。在前面我们已经详细讲解过了。然后我们本文主要讲解在循环中的作用。
break在循环中的作用就是立即终止当前的循环,然后执行循环后续的操作。给大家举个小例子
public class Test {public static void main(String[] args) {for(int i =1;i>0;i++){if(i==5){break;}else {System.out.println(i);}}System.out.println("循环已经被break终止");}
}
可以看到我上面的循环,如果不看循环体的内容,那么这个循环将一直满足条件,从而形成无限循环。但是我添加了一个if判断语句,如果i=5的时候,break。所以原本的无限循环被我设置的break给终止了。
break只能跳出当前所在一层的循环,如果是在嵌套的循环中,想要直接跳出多层循环,可以使用带标签的break语句。
语法格式为下面这样
label: 循环结构 {// 循环体if (条件) {break label; // 终止label标记的循环}
}
同样的我们来个小例子。
outerLoop: // 定义外层循环标签
for (int i = 0; i < 3; i++) {for (int j = 0; j < 3; j++) {if (i == 1 && j == 1) {break outerLoop; // 终止外层循环}System.out.println("i=" + i + ", j=" + j);}
}
当 i=1
且 j=1
时,break outerLoop
会直接终止被 outerLoop
标记的外层循环,而不仅仅是内层循环。
continue
continue的作用就是跳出本轮循环,然后进行下一轮循环。就比如我们拿第一个例子做比较
for (int i = 0; i < 5; i++) {if (i == 2) {continue; // 跳过本次循环的剩余代码}System.out.println(i);
}
// 输出结果:0 1 3 4
这样讲解是不是非常的清晰易懂呢。一个是终止整个循环,另一个是终止本轮循环的后续操作然后进行下一轮循环,通常都是要实现特定的要求的时候才会使用。