java中continue在for循环的问题。 5

怎样理解”在for循环中,continue语句一结束,先执行每次迭代后的操作,再计算循环继续条件。”这句话?谢谢你们的回答,不过我的疑问是“先执行每次迭代后的操作”这句话... 怎样理解”在for循环中,continue语句一结束,先执行每次迭代后的操作,再计算循环继续条件。”这句话?
谢谢你们的回答,不过我的疑问是“先执行每次迭代后的操作”这句话,因为相对dowhile和while语句,它们的注释是直接“计算玄幻继续条件”,或许我换个问题来问更好些,这两句话的区别在哪里,因为感觉都是直接跳出符合条件的迭代,再重新计算循环条件。
展开
 我来答
逐鹿IT
推荐于2018-03-09 · TA获得超过3170个赞
知道大有可为答主
回答量:3522
采纳率:0%
帮助的人:2716万
展开全部
定义:结束本次循环,即跳过循环体下面尚未执行的语句,接着进行下一次是否执行循环的判断
int main()
  {
  int n;
  for(n=1;n<=10;n++)
  {
  if(n%3==0)
  continue;
  printf("%d\t",n);
  }
  }
意思就是:当遇到continue的时候,继续执行这个循环,而不去执行循环下面的操作。
例如上面这个例子,输出为1 2 4... 为什么没有3呢,因为当为3的时候,3%3=0,就遇到这个continue了,然后它就不会继续去执行这个print,而直接进行下一个循环。即n=4了
追问
谢谢你们的回答,不过我的疑问是“先执行每次迭代后的操作”这句话,因为相对dowhile和while语句,它们的注释是直接“计算玄幻继续条件”,或许我换个问题来问更好些,这两句话的区别在哪里,因为感觉都是直接跳出符合条件的迭代,再重新计算循环条件。
追答
玄幻?请表达清楚你的意思,谢谢!
猿来入此站长
2017-07-14 · TA获得超过651个赞
知道答主
回答量:68
采纳率:100%
帮助的人:23.4万
展开全部

在for循环中,continue的作用是从continue语句那一行结束,跳到下一次循环中,从循环头开始执行,洗面举例说明:

for(int i=0;i<10;i++){
    int a = i+1;
    int b = a+i;
    if(b == 3){
        continue;//此处的意思是,当b=3的时候,下面的代码不执行了
        //也就是说当i=1的时候,下面的代码不执行了,从i=3开始运行
    }
    b = a*i;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Re_Virtual
推荐于2018-10-18 · TA获得超过414个赞
知道小有建树答主
回答量:312
采纳率:66%
帮助的人:141万
展开全部
就以这个例子 
  for(int n=1;n<=10;n++)
  {
  if(n%3==0)
  continue;
  printf("%d\t",n);
  }
输出结果就是1,2,3,4,。。。。就是continue之后会执行n++
而如果用while语句
  int n=1;
while(n<=10)
  {
  if(n%3==0)
  continue;
n++;
  printf("%d\t",n);
  }
结果就是1、2然后无限循环下去也不输出结果,因为i=3时continue之后直接跳到n<=10而不会执行i++,结果i就永远只能是3
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
thinkpack
2011-07-17 · TA获得超过2842个赞
知道大有可为答主
回答量:2114
采纳率:0%
帮助的人:2075万
展开全部
就是在遇到continue之后,会跳到下一次循环。如for(int i = 0; i < 10; i++) { System.out.println(i); continue ; System.out.println("next");}这样的话,就不执行continue后面那语句而直接跳到下一次循环。
追问
谢谢你们的回答,不过我的疑问是“先执行每次迭代后的操作”这句话,因为相对dowhile和while语句,它们的注释是直接“计算玄幻继续条件”,或许我换个问题来问更好些,这两句话的区别在哪里,因为感觉都是直接跳出符合条件的迭代,再重新计算循环条件。
追答
“先执行每次迭代后的操作” 这句话拿我给的例子来说,就是判断和计算i的增值后,执行打印这个语句。此时在遇到continue前都是这次迭代需要执行的语句。当遇到continue之后,就直接忽略continue后面的语句,转到for这个语句执行下一次迭代。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
JY_Ameilia
2011-07-17 · TA获得超过298个赞
知道小有建树答主
回答量:134
采纳率:0%
帮助的人:54.7万
展开全部
例如:有如下程序段,外层循环标记为outer,在内层循环中的continue语句带有该语句标记。程序流程展示了continue语句的作用。
outer:for(int i=0;i<10;i++){
for(int j=0;j<20;j++){
if(j<i){
......
continue outer:
......
}
......
}
......
}
这段程序中,内层循环的if语句条件判断j<i的值为true时,程序执行continue语句。由于该continue语句带有语句标记outer,则程序流程跳转到语句标记outer所指定的外层环中,并结束outer外层循环的本次循环,使得outer标记的循环进入下一循环中。
追问
谢谢你们的回答,不过我的疑问是“先执行每次迭代后的操作”这句话,因为相对dowhile和while语句,它们的注释是直接“计算玄幻继续条件”,或许我换个问题来问更好些,这两句话的区别在哪里,因为感觉都是直接跳出符合条件的迭代,再重新计算循环条件。
追答
那你问的是continue在for循环和while,do while中用法的区别吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式