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

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

qq_等待_87
浏览 1204回答 1
1回答

onemoo

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。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java