public class Whiler {
public static void main(String[] args) {
int a=0;
while(a<5){
if(a==2){
continue;
}else{
System.out.println("a的值是:"+a);
}
a++;
}
System.out.println("程序结束!");
}
}
问题在哪啊
程序输出结果为:
a的值是:0
a的值是:1
然后是死循环!!!
当a==2时,执行
if(a==2){
continue;
}
不执行下面的语句,而执行下一次循环。但由于没有执行a++;(continue已经跳过下面的语句,所以a++;没有执行),所以下一次循环的时候a还是等于2,然后再一次执行
if(a==2){
continue;
}
陷入死(无限)循环。
a的值是:0
a的值是:1
然后是死循环!!!
当a==2时,执行
if(a==2){
continue;
}
不执行下面的语句,而执行下一次循环。但由于没有执行a++;(continue已经跳过下面的语句,所以a++;没有执行),所以下一次循环的时候a还是等于2,然后再一次执行
if(a==2){
continue;
}
陷入死(无限)循环。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2020-02-01
和我一样,for循环就没问题。
当while 循环语句执行到continue时,下面的a++就不会执行了,a会保存当前数值,直接返回开头继续执行形成死循环。
解决办法:在if语句中,continue语句的上面补上a++
当while 循环语句执行到continue时,下面的a++就不会执行了,a会保存当前数值,直接返回开头继续执行形成死循环。
解决办法:在if语句中,continue语句的上面补上a++
第2个回答 2013-03-13
把 a++ 放到while块的开始
第3个回答 2012-07-13
可以使用的。