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。
添加回答
举报
0/150
提交
取消