多重循环中的continue的用法

多重循环中的continue的用法,第1张

public class cont {

public static void main(String[] args){

back1:

for(int i=0i<10i++){

back2:

for(int j=0j<10j++){

if(j==9){

continue back2

}

}

System.out.println("test")

}

}

}

当是continue back1的时候,当i==0时候第二层for循环到j==9的时候就结束此次循环,执行continue back1,到第一层循环。此时因为有i++所以i==1的时候,第二层for循环到j==9的时候就结束当前循环,执行continue back1。这样下去最后当i>9的时候循环就结束了,所以没有输出。 当continue back2时候,一样当i==0时候第二层循环到j==9的时候,就结束此次循环,执行continue back2,到第二层循环。此时j==10了,所以就直接执行输出语句。当i==1的时候也是一样的道理。 两层循环时候,先执行完内循环再执行外循环。

1楼说得没错,continue 是终止执行当前循环位于continue 之后的语句,开始下一次循环,即k+1。你把它删了应该没什么影响

楼下(2楼,其实本来我是2楼,修改回复后变成3楼了)纯扯淡 昨晚在床上用手机回复的,今早起来特意帮你单步调试了一下,有没有continue根本没任何影响,因为在k循环里,continue下没有任何语句。以后类似问题你若是有疑问,可以自己设断点,单步调试一下,跟踪各个变量的值,你就清楚了

continue的意思是跳过这个语句后面的循环体,直接进入下一轮循环。当然for循环语句的话,还要先执行for语句第二个分号后面的语句,这里即为c++。

循环嵌套,用括号分开,就看得清楚了。

#include<stdio.h>

void main()

{

int a,b,c

for(a='x'a<='z'a++)

{

for(b='x'b<='z'b++)

{

for(c='x'c<='z'c++)

{

if((a!='x')&&(c!='x')&&(c!='z')&&(a!=b)&&(b!=c)&&(c!=a))

printf("a->%c,b->%c,c->%c\n",a,b,c)

else

continue

}

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8082383.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存