我们先看看依次替换掉if循环中的关键字,输出的结果是什么,最后进行总结。
1.return
public class Test {
public static void main(String[] args) {
for (int i = 0 ; i < 5 ; i++ ){
System.out.println("i的值为:" + i );
if (i == 1){
return;
}
}
System.out.println("跳出循环了吗");
}
}
当执行i=1的时候,整个程序直接停止了,后面的语句也没有输出出来。
2.break
public class Test {
public static void main(String[] args) {
for (int i = 0 ; i < 5 ; i++ ){
System.out.println("i的值为:" + i );
if (i == 1){
break;
}
}
System.out.println("跳出循环了吗");
}
}
这里循环也是执行到了i=1的时候,到i=1时,循环终止,但是后面的语句依旧输出出来了,说明程序没有结束,只有循环结束了。
3.continue
public class Test {
public static void main(String[] args) {
for (int i = 0 ; i < 5 ; i++ ){
System.out.println("i的值为:" + i );
if (i == 1){
continue;
}
}
System.out.println("跳出循环了吗");
}
}
这里可以看出来循环并没有停止,在这里continue只是把i=1时所在的循环终止了,后面的循环并没有发生终止。
总结:
(1)return关键字并不是专门用于跳出循环的,return的功能是结束一个方法。 一旦在循环体内执行到一个return语句,return语句将会结束该方法,循环自然也随之结束。与continue和break不同的是,return直接结束整个方法,不管这个return处于多少层循环之内。
可以看到return的控制台没有打印语句,所以到return程序就结束了。
(2)break用于完全结束一个循环,跳出循环体。不管是哪种循环,一旦在循环体中遇到break,系统将完全结束循环,开始执行循环之后的代码。
(3)continue的功能和break有点类似,区别是continue只是中止本次循环,接着开始下一次循环。而break则是完全中止循环。
通过break和continue对比明显看出continue的循环还在继续,continue只中断了i=1的循环,而break执行到i=1时,整个循环都停止了。