A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 沐阳6011 于 2014-5-30 08:03 编辑

关于continue的,大家看下哈
  1. class PanDuan
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 for(int x=1;x<=10;x++)
  6.                 {
  7.                         if(x%2==0)
  8.                         {
  9.                                 System.out.println("x="+x);
  10.                         }
  11.                 }
  12.         }
  13. }
复制代码

这样的话运行结果出来是这样的
x=2
x=4
x=6
x=8
x=10
但是代码改过后,改成:
  1. class PanDuan
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 for(int x=1;x<=10;x++)
  6.                 {
  7.                         if(x%2==0)
  8.                         continue;
  9.                         System.out.println("x="+x);
  10.                         
  11.                 }
  12.         }
  13. }
复制代码

后,运行结果就变成:
x=2
x=4
x=6
x=8
x=10。
百思不得其解,本人小白,求会的人帮我解答一下:(:P

14 个回复

正序浏览
这个可以有啊,continue是进入下一次循环,就不会执行continue后面的代码了。
回复 使用道具 举报
执行到Continue 就会跳入下一个循环了,下面的打印是x=1 x=3 x=5 x=7 x=9
回复 使用道具 举报
More 中级黑马 2014-5-30 12:36:35
12#
执行到continue时跳到条件处继续执行,不执行continue下面的代码
回复 使用道具 举报
侯金龙 发表于 2014-5-30 10:36
既然就复制错了,就是运行时是对的,那怎么会有疑问那

是因为当时不知道为什么加上continue;之后会出现这样的结果,后来自己一步步走了一下,就看明白了
回复 使用道具 举报
既然就复制错了,就是运行时是对的,那怎么会有疑问那
回复 使用道具 举报

哥们儿你解释的很详细啊,谢谢你。都怪我发帖的时候结果没复制上,其实是不明白结果为什么是1.3.5.7.9。
现在我想明白continue语句的作用了,谢谢你。
回复 使用道具 举报
万马奔腾 发表于 2014-5-29 18:18
楼主这样太马虎了 ,应该是没有保存的原因。

其实是保存了的,发帖的时候运行结果应该复制错了,哎呀,浪费大家时间了,太对不住了:'(:'(
回复 使用道具 举报
茂子 发表于 2014-5-29 16:51
呃,你这个情况我做练习的时候也遇见过。
结果应该是1,3,5,7,9;
至于出现这样的原因可能有如下:

恩,我知道是怎么回事了,是我太马虎,下面的结果没有复制上,谢谢哥们的解答。我现在想明白有continue语句后为什么会出现这样的情况了。谢谢
回复 使用道具 举报
zhaojian 发表于 2014-5-29 16:51
你搞错了吧,下面代码运行结果是
x=1
x=3

还真是哎,我确实是整错了。没复制上
回复 使用道具 举报
本帖最后由 相濡、彼岸 于 2014-5-29 21:45 编辑


回复 使用道具 举报
楼主这样太马虎了 ,应该是没有保存的原因。
回复 使用道具 举报
运算结果应该是13579,f(x%2==0)成立就continue继续循环,二楼说的很对, ==执行不到的
回复 使用道具 举报
呃,你这个情况我做练习的时候也遇见过。
结果应该是1,3,5,7,9;
至于出现这样的原因可能有如下:
1.你修改后没有保存而进行编译,接着运行,结果就和之前一样;
2.如果你修改改后保存再编译,还是出现问题,我觉得应该是电脑“凌乱了”,我遇见的就是这种情况,解决的时候就是重启窗口,不行的话就重启计算机。。。
回复 使用道具 举报
你搞错了吧,下面代码运行结果是
x=1
x=3
x=5
x=7
x=9
if(x%2==0)成立就continue继续循环,下面的打印语句读不到,如果不成立才会打印。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马