深度解析continue,break和return

来源:互联网 发布:三星s4网络锁解锁软件 编辑:程序博客网 时间:2024/06/09 18:35

continue,break和return是Java中的关键字,在方法体内的流程控制中使用频率较高。

在现实中,经常会有同学在使用中产生混淆,从而使得流程控制语句发生混乱。在这里,我结合个人的使用经历,通过Java

编程为大家解析三者在实际使用中的区别。

1.continue

通常出现在循环控制结构中,表示结束本次循环,然后继续进行后面的循环。举例:

class Demo1 {//声明一个类Demo1public static void main(String[] args) {//入口函数for(int i=0;i<5;i++){//for循环if(i==3){//当i=3时,仅结束本次循环,但是for循环剩余次数并未结束break;}System.out.println(i);//在控制台打印输出循环遍历的数字}System.out.println("for循环之后");}}

在控制台打印输出如下:

0124

for循环之后

可见,当i=3时,仅结束本次循环,for循环剩下的次数并未结束;同时,for循环之后的语句可以正常执行,比如控制台打印输出

for循环之后”。

我们再来看break的效果。

2.break

我们还用上面的代码,不同的是将continue改为break。

class Demo1 {//声明一个类Demo1public static void main(String[] args) {//入口函数for(int i=0;i<5;i++){//for循环if(i==3){//当i=3时,结束for循环break;}System.out.println(i);//在控制台打印输出循环遍历的数字}System.out.println("for循环之后");}}

控制台打印输出结果是:

012
for循环之后

可见,当i=3时,for循环结束,不再执行剩余的次数,同时继续执行for循环之后的语句(如打印输出“for循环之后”)。

上面是一层or循环,如果在两层for循环中使用break后会怎样呢?请看下面的代码:

class Demo1 {//声明一个类Demo1public static void main(String[] args) {//入口函数for(int j=0;j<3;j++){//外层for循环for(int i=0;i<5;i++){//内层for循环if(i==3){//当i=3时,结束内层for循环break;}System.out.println(i);//在控制台打印输出循环遍历的数字}System.out.println("*********");//一轮内层for循环结束时的分隔符} System.out.println("for循环之后");}}

控制台打印输出结果是:

012*********012*********012*********
for循环之后

可见,在两层for循环中,break只是结束了所在层的for循环(即内层for循环),对外层for循环并未起到作用。

那么,改为return后会怎样呢?

3.return

我们先来看下面的代码:

class Demo1 {//声明一个类Demo1public static void main(String[] args) {//入口函数for(int j=0;j<3;j++){//外层for循环for(int i=0;i<5;i++){//内层for循环if(i==3){//当i=3时,结束方法return;}System.out.println(i);//在控制台打印输出循环遍历的数字}System.out.println("*********");//一轮内层for循环结束时的分隔符} System.out.println("for循环之后");}}

控制台打印输出为:

012 

可见,使用return后,整个方法结束。

最后做下总结:在循环控制语句中,continue仅结束本次循环;break可以结束本层循环;return出现的地方,当前方法结束。

希望能帮到您!