永发信息网

java中continue在for循环的问题。

答案:6  悬赏:60  手机版
解决时间 2021-01-13 13:06
java中continue在for循环的问题。
最佳答案
就以这个例子 
  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
全部回答
就是在遇到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这个语句执行下一次迭代。
例如:有如下程序段,外层循环标记为outer,在内层循环中的continue语句带有该语句标记。程序流程展示了continue语句的作用。
outer:for(int i=0;i<10;i++){
for(int j=0;j<20;j++){
if(j ......
continue outer:
......
}
......
}
......
}
这段程序中,内层循环的if语句条件判断j
  • 3楼网友:舍身薄凉客
  • 2021-01-13 06:07
好像是先返回for循环
  • 4楼网友:未来江山和你
  • 2021-01-13 05:20

在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;
}
  • 5楼网友:想偏头吻你
  • 2021-01-13 05:13
定义:结束本次循环,即跳过循环体下面尚未执行的语句,接着进行下一次是否执行循环的判断
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语句,它们的注释是直接“计算玄幻继续条件”,或许我换个问题来问更好些,这两句话的区别在哪里,因为感觉都是直接跳出符合条件的迭代,再重新计算循环条件。追答玄幻?请表达清楚你的意思,谢谢!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯