java问题:求解为什么这个程序输出的是0,1 而不是0,1,3????

publicclassDemon_30{publicstaticvoidmain(String[]args){inti=0;while(i<4){if(i==2)cont... public class Demon_30 {
public static void main(String[] args) {
int i=0;
while(i<4){
if(i==2) continue;
System.out.println(i);
i++;
}

}

}
展开
 我来答
25463chen
2011-12-30 · TA获得超过441个赞
知道小有建树答主
回答量:133
采纳率:100%
帮助的人:164万
展开全部
首先你要弄明白continue的使用方法,这个continue指的是满足条件以后跳出本次循环,不再执行后面的代码了
这里当i =2时,也就是if(i==2)成立的时候就跳出循环了,后面的这两句System.out.println(i);i++;
就不执行了,。那么i还是2,没有自加,下一次在判断的时候if(i==2)这个还是满足,那么永远也不会出现i =3的或者其他的情况了,就一直在i=2的情况下循环了,这时候输出的只会是0,1
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qf...l@163.com
2011-12-30
知道答主
回答量:22
采纳率:0%
帮助的人:19.5万
展开全部
首先从0开始,输出此时i=0,小于2,因而输出0,然后进入下一个循环,此时i=1,小于2,输出1,再次到下一个循环时,先判断if(i==2),满足条件,因而执行continue语句,continue语句的意思就是终止后续的System.out.println(i)和i++代码,进入下一个循环,即i的值一直都为2,while会陷入死循环,但输出0,1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zshtianya
2011-12-30
知道答主
回答量:23
采纳率:0%
帮助的人:14.3万
展开全部
初始i=0,进入循环后先后输出0和1,当i=2的时候continue跳出循环不继续进入循环,所以该程序只输出0,1 要是你还有什么问题可以再问我 希望采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yy768117456
2011-12-30
知道答主
回答量:13
采纳率:0%
帮助的人:10.1万
展开全部
因为你的 continue放在if语句后面,当i=2是他就直接进行下次循环,i++就没有执行,所以就不会输出3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式