java中continue在for循环的问题。 5
怎样理解”在for循环中,continue语句一结束,先执行每次迭代后的操作,再计算循环继续条件。”这句话?谢谢你们的回答,不过我的疑问是“先执行每次迭代后的操作”这句话...
怎样理解”在for循环中,continue语句一结束,先执行每次迭代后的操作,再计算循环继续条件。”这句话?
谢谢你们的回答,不过我的疑问是“先执行每次迭代后的操作”这句话,因为相对dowhile和while语句,它们的注释是直接“计算玄幻继续条件”,或许我换个问题来问更好些,这两句话的区别在哪里,因为感觉都是直接跳出符合条件的迭代,再重新计算循环条件。 展开
谢谢你们的回答,不过我的疑问是“先执行每次迭代后的操作”这句话,因为相对dowhile和while语句,它们的注释是直接“计算玄幻继续条件”,或许我换个问题来问更好些,这两句话的区别在哪里,因为感觉都是直接跳出符合条件的迭代,再重新计算循环条件。 展开
6个回答
展开全部
定义:结束本次循环,即跳过循环体下面尚未执行的语句,接着进行下一次是否执行循环的判断
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了
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语句,它们的注释是直接“计算玄幻继续条件”,或许我换个问题来问更好些,这两句话的区别在哪里,因为感觉都是直接跳出符合条件的迭代,再重新计算循环条件。
追答
玄幻?请表达清楚你的意思,谢谢!
展开全部
在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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就以这个例子
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
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<i){
......
continue outer:
......
}
......
}
......
}
这段程序中,内层循环的if语句条件判断j<i的值为true时,程序执行continue语句。由于该continue语句带有语句标记outer,则程序流程跳转到语句标记outer所指定的外层环中,并结束outer外层循环的本次循环,使得outer标记的循环进入下一循环中。
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中用法的区别吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询