日期:2014-05-20  浏览次数:20838 次

一个循环问题
public class Continue {
public static void main(String[]args){

   
int i=0;
while(i<10){
if(i==5){
i++;
continue;
}

System.out.println(i);
i++;
}
}
}

结果:012346789;
在上面这个循环体中,当i=5的时候,i++自动加1,那么应该会是6,在显示的结果中,应该会显示两个6出现,为什么没有显示?

另外,如果把最后的i++去掉,会出现无限循环0,不会自己停止;请高手帮助解答,谢谢!

------解决方案--------------------
这个问题比较基础了吧。。。

i=5的时候,i++自动加1,所以导致直接显示了6,但你System.out.println(i)后面还紧跟着一个i++吧?所以本次循环结束的时候,已经是 i==7 了。

如果把最后的 i++ 去掉,就意味着 i永远没机会增加了吧?当然无限循环0,否则还能是啥?
------解决方案--------------------
当i=5的时候
Java code

while(i<10){
if(i==5){
i++;
continue;
}

System.out.println(i);//假设这里输出4
i++;//此时i=5
}