Java中break,continue,return都可以作用于循环体,下面来比较一下它们3个的不同之处:
break
break: 此语句导致程序终止包含它的循环,并进行程序的下一阶段(整个循环后面的语句),即,不是跳到下一个循环周期而是退出循环。如果break语句包含在嵌套循环里,它只跳出最里面的循环。
例:
public class Test {
public static void main(String[] args) {
for (int i = 0;i < 10;i++){
System.out.println(i);
if (i == 5){
break;
}
}
}
}
输出结果为:
可以看到,当i = 5时,执行break,循环退出。
continue
continue:循环语句执行到continue时,循环会跳出本次循环,不再执行continue后面的语句,而是继续回到循环入口,执行下一次循环。
例:
public class Test {
public static void main(String[] args) {
for (int i = 0;i < 10;i++){
if (i == 5){
continue;
}
System.out.println(i);
}
}
}
输出结果:
可以看到,当i = 5时,执行continue,循环跳出,不再执行continue后面的输出语句,而是继续去执行i = 6时的循环,所以输出结果里面没有5。
return
return是结束整个方法,使用return后,整个方法都结束了,方法里面的所有语句都不在执行。
例:
public class Test {
public static void main(String[] args) {
for (int i = 0;i < 10;i++){
if (i == 5){
return;
}
System.out.println(i);
}
System.out.println("stop");
}
}
输出结果
可以看到,执行return后,不仅仅整个循环结束,循环外面的输出也没有输出,return是结束整个main方法,main方法中的所有语句都不在执行。