问:简单循环跟踪

Q: Simple Loop Tracing

我不确定 "num2" 会发生什么,我几乎可以肯定 "num1" 乘以每个数字 1-4 次乘以每个数字 1-4 但我不知道 "num2"

int num1 = 0;
int num2 = 0:

for (var i = 0; i <= 4; i++){
          num1 = i * i;
          num2 += num1;
          System.out.println(num1 + " ");
} 
System.out.println(num2);

所以我的问题是 "num2" 的踪迹是什么? 任何帮助表示赞赏!

在这种情况下,以下内容为真:

num1 将等于任何索引乘以自身。因此这将 运行 在 0、1、2、3 和 4 上,因为你的 i 从 0 和 运行s 开始,直到它小于或等于 4。

因此,num1 将是:

1) 0 * 0 = 0
2) 1 * 1 = 1
3) 2 * 2 = 4
4) 3 * 3 = 9
5) 4 * 4 = 16

然后 num2 简单地计算每一项的总和,即:

0 + 1 + 4 + 9 + 16 = 30

这将分为:

Before for loop:
num2 = 0

1) num2 = 0 + 0 = 0
2) num2 = 0 + 1 = 1
3) num2 = 1 + 4 = 5
4) num2 = 5 + 9 = 14
5) num2 = 14 + 16 = 30

它通过将 num1 加到到目前为止的总数来实现。

希望这能澄清一点。

编辑:

正如 sharonbn 所提到的,var 在 java 中不是有效类型,这应该是 'int'。

此外,您还有:

int num2 = 0:

此处以冒号 (:) 结尾,应为 semi-colon (;)。