首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

循环有关问题

2012-02-19 
循环问题public class Continue {public static void main(String[]args){int i0while(i10){if(i5){i

循环问题
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++;
}
}
}


疑问:
如果把if(i==5){
i++;
continue;
}
中的i++ 删除掉,结果就变成 0,1,2,3,4,为什么6,7,8,9,就无法显示出来? 因为即使i=5的情况下,后面还有i++,可以自己增加,但是不是这样的显示结果。
 如果说,是因为使用continue,导致后面的System.out.println(i);i++;都无法执行下去的话,那么:0,1,2,3,4,这样的结果应该会不断无限循环出现才对,请高手解答。

[解决办法]
修改后变为:
if(i==5){
continue;
}

根据continue语句的规则,是直接忽略后续所有代码,直接重新跳回循环的起始位置(第一句话),也就是while(i<10),所以问题是照旧:i永远没机会++,永远==5
[解决办法]
因为修改后i总是等于5,continue的作用就是下面的代码忽略直接跳到循环开始,所以i一直等于5,并且程序比啊成一个死循环。
[解决办法]
因为执行一次过后i等于5;因为有continue的存在,所以
System.out.println(i);
i++;
在i等于5了之后就一直不会被执行。

探讨

如果是直接忽略后续所有代码的花,那么“重新跳回循环的起始位置”,显示的结果:0,1,2,3,4,应该无限循环显示才对,可是为什么只显示一次呢?

[解决办法]
探讨
如果是直接忽略后续所有代码的花,那么“重新跳回循环的起始位置”,显示的结果:0,1,2,3,4,应该无限循环显示才对,可是为什么只显示一次呢?

热点排行