黑马程序员技术交流社区

标题: for 和 while 中continue跳转的区别 [打印本页]

作者: iq513394    时间: 2015-10-22 17:17
标题: for 和 while 中continue跳转的区别
本帖最后由 iq513394 于 2015-10-22 17:20 编辑

for 和 while 循环体,我们可以互相转换,但是在使用continue进行跳转时,还是要注意两者跳转的流程是有所不同的。
在while循环体中使用continue时,一定要在continue执行前进行判断变量的改变,因为在while循环体中执行continue会直接跳到while条件判断处进行判断是否为真(进而执行循环体),此前如果判断变量还没改变,自然为真,进而会形成死循环。
而for循环不同,执行continue后,会跳到for循环的判断变量改变的语句(for循环头部第三个语句),然后才到判断条件。所以相当于判断变量改变语句处在循环体的最后,不会形成前面说的死循环。
  1.                 for (int i = 0; i <= 100; i++) {
  2.                         if (i % 2 == 0) {
  3.                                 continue;//跳到i++
  4.                         }
  5.                         System.out.println(i);
  6.                 }
  7.                 int j = 0;
  8.                 while(j <=100) {
  9.                         if (j % 2 != 0) {
  10.                                 System.out.println(j);
  11.                         }
  12.                         j++;
  13.                         continue;//跳到j<=100
  14.                 }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2