新手求问!

u012701344 2015-06-07 12:38:39
int i=0;
for(i=0;i<10;i++)
{
if(i%2==0)
continue;
i=i+1;
if(i==5)
break;
}
System.out.println(i);

这个输出的结果为什么是11?
...全文
98 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
u012701344 2015-06-08
  • 打赏
  • 举报
回复
上午的时候已经懂了,谢谢大家!
搬运工木木 2015-06-07
  • 打赏
  • 举报
回复
你希望是几?好像是等于11吧,因为i++好像是循环里的语句执行完后再做的当你9的时候 循环里加1,i++再加1,不就11了?
Inhibitory 2015-06-07
  • 打赏
  • 举报
回复
int i=0;

for(i=0; i<10; i++) {
    if(i%2==0) // i == 4 时执行 continue
        continue;
    
    i=i+1; // i == 5 时因为 i=i+1,于是 i 为 6
    
    if(i==5) // 由于上面的原因,i 永远不等于 5,所以 break 不会被执行
        break;  
}

// 最后 i 为 11,i < 10 为 false,循环结束
// 于是输出 11
System.out.println(i);

50,462

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧