为了账号安全,请及时绑定邮箱和手机立即绑定

求解答,基础的都要弄不懂了 啊啊啊啊啊啊

求解答,基础的都要弄不懂了 啊啊啊啊啊啊

qq_等待_87 2017-04-15 23:14:48
public static void main(String[] args) { //在1-10的数值中,输出大于2且为3的倍数的数值。 int i=1; for (; i <= 10; i++) { if ( (i>2)&&(i%3==0)) { System.out.print("\n"+i); } System.out.print("\n"+i); }}}为什么输出来是3  6   9    11
查看完整描述

1 回答

已采纳
?
onemoo

TA贡献883条经验 获得超454个赞

for 循环中 i 会从 1 到 10。

但 for 中的输出语句在 if 语句中,而 if 的判断条件是“i 大于 2,且 i 能被 3 整除”,所以第一个输出来的肯定是 3,后续当 i 是 6 和 9 时会再次输出...

当 i 是 9 时,在 if 语句输出后,i 会自增为 10。然后再次进入 for 循环,但这次不满足 if 判断条件,所以不会有输出,虽然 if 的循环体没有执行,但还是在 for 循环中,所以 for 最后会再次将 i 自增为 11。

再次进入 for 循环判断,i 不满足判断条件(11大于10了),所以结束了 for 语句,执行最后的输出语句,当然会输出 11。

查看完整回答
反对 回复 2017-04-15
  • 1 回答
  • 0 关注
  • 1203 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信