IT兄弟连 Java语法教程 流程控制语句 控制循环结构2

使用continue忽略本次循环剩下的语句

continue的功能和break有点类似,区别是continue只是忽略本次循环剩下的语句,接着开始下一次循环,并不会终止循环;而break则是完全终止循环本身。如下程序示范了continue的用法。

public class ContinueDemo{

    public static void main(String[] args){

         for(int i = 0; i<3; i++){

              System.out.println("i的值是" + i);

              if(i == 1){

                   continue;

              }

              System.out.println("continue后的输出语句");

         }

    }

}

运行上面的程序,将看到如图20所示的运行结果。

597c72d696f54f2097c3b14c3b00445f.png

图20  ContinueDemo运行结果

从上面运行结果来看,当i等于1时,程序没有输出“continue后的输出语句”字符串,因为程序执行到continue时,忽略了当此循环中continue语句后的代码。从这个意义上来看,如果把一个continue语句放在单次循环的最后一行,这个continue语句是没有任何意义的,因为它仅仅忽略了一片空白,没有忽略任何程序语句。

与break类似的是,continue后也可以紧跟一个标签,用于直接跳过标签所标识循环的当此循环剩下的语句,重新开始下一次循环。例如下面的代码。

public class ContinueDemo2{

    public static void main(String[] args){

         outer;

         for(int i = 0; i<5; i++){

              for(int j = 0; j<3; j++){

                   System.out.println("i的值为:" + i + "j的值为:" + j);

                   if(j == 1){

                         continue outer;

                   }

              }

         }

    }

}

运行上面程序可以看到,循环变量j的值将无法超过1,因为每当j等于1时,continue outer语句就结束了外层循环的当此循环,直接开始下一次循环,内层循环没有机会执行完成。

与break类似的是,continue后的标签也必须是一个有效的标签,即这个标签通常应该放在continue所在循环的外层循环之前定义。

使用return结束方法

return关键字并不是专门用于结束循环的,return的功能是结束一个方法。当一个方法执行到一个return语句时(return关键字后还可以跟变量、常量和表达式),这个方法将被结束。

Java程序中大部分循环都被放在方法中执行,例如前面介绍的所有循环程序。一旦在循环体内执行到一个return语句,return语句就会结束该方法,循环自然也随之结束。例如下面的程序。

public class ReturnDemo{

    public static void main(String[] args){

         for(int i = 0; i<3; i++){

              System.out.println("i的值为:" + i);

              if(i == 1){

                   return;

              }

              System.out.println("return后的输出语句");

         }

    }

}

运行上面的程序,循环只能执行到i等于1时,当i等于1时程序将完全结束(当main方法结束时,也就是Java程序结束时)。从这个运行结果来看,虽然return并不是专门用于循环结构控制的关键字,但通过return语句确实可以结束一个循环。与continue和break不同的是,return直接结束整个方法,不管这个return处于多少层循环之中。

猜你喜欢

转载自www.cnblogs.com/itxdl/p/11262008.html