概述:
continue,break, return 来跳出或结束循环。那么这三个具体有什么区别呢?什么时候该用什么呢?
区别
- break : 跳出当前循环体,继续执行后面的代码。比如跳出当前 for 循环。
注意:break 还可以跳出指定循环。看代码吧
/**
* 使用break 跳处到标记 for循环层
*/
private static void outerLooper() {
tohere:
for (int i = 0; i < 5; i++) {
System.out.println("外成循环层循环i=" + i);
for (int j = 0; j < 4; j++) {
if (j == 2) {
System.out.println("内层循环j=" + j);
break tohere;
}
}
}
}
- continue: 结束本次循环。继续执行下次循环。
/**
* 使用Continue 结束本次循环,接着执行后面的循环
*/
private static void continueeLooper() {
for (int i = 0; i < 5; i++) {
System.out.println("Continue外成循环层循环i=" + i);
for (int j = 0; j < 4; j++) {
if (j == 2) {
continue;
}
System.out.println("Continue内层循环j=" + j);
}
}
}
注意: 同 break 一样,continue 也可以用标记的方式,跳到指定循环体。代码如下
/**
* 使用Continue 结束本次循环,接着执行后面的循环
* 得到 j ==2 的时候就跳出到外层循环,继续执行下个循环
*/
private static void continueLooperFlag() {
outer:
for (int i = 0; i < 5; i++) {
System.out.println("跳到指定外成循环层循环i=" + i);
for (int j = 0; j < 4; j++) {
if (j == 2) {
continue outer;
}
System.out.println("跳到指定循环内层循环j=" + j);
}
}
}
- return: 结束整个方法
/**
* 使用return 结束方法
*/
private static void returnLooper() {
for (int i = 0; i < 5; i++) {
System.out.println("return外成循环层循环i=" + i);
for (int j = 0; j < 4; j++) {
if (j == 2) {
return;
}
System.out.println("return内层循环j=" + j);
}
}
}