有谁可以解释为什么答案是他们喜欢的?第一个我猜它是因为停止条件已经达到所以它会跳过声明,但问题13为什么不打印4321?
12.以下代码生成了什么输出:
int n;
for (n = 1; n > 4; n++)
System.out.print(n);
a)12345
b)1234
c)0 ---> for循环从不运行,因为停止条件已经满足。
d)它不产生输出*
13.以下代码生成了什么输出:
int n;
for (n = 4; n > 0; n--);
System.out.print(n);
a)43210
b)4321
c)0 * ---> for循环后的半冒号,导致在循环结束后运行print语句
d)它不产生输出
答案 0 :(得分:2)
关于问题13:for循环后面有一个分号。因此,首先执行循环直到n不再是> 0 =>那么它就是零。然后,打印将显示零。
答案 1 :(得分:0)
第一个不产生输出,因为for循环体永远不会运行(假设打印线在for循环内)。 第二个似乎在for循环中什么都不做,只是在循环后打印n的值。这将是0,因为它刚刚测试大于0。
答案 2 :(得分:0)
问题13 :
for (n = 4; n > 0; n--);
循环直接执行。因此,它只是减少了n的值,并且在完成执行之前没有进入下一个语句。所以,这里不会声明直到它完成执行。 在结束时的执行值n为0.因此,当涉及到语句
时 System.out.print(n);
n的值为0 ,因此程序的输出为0
答案 3 :(得分:0)
在问题13)中有一个;在for循环之后,这意味着程序除了(n - )4次之外什么都不做。结果是n的值变为0。