当以下代码完成执行时,z的值是多少?
int x;
int y;
int z;
x = 1;
z = 1;
while (x <= 5)
{
z = z + x;
x = x + 1;
}
Run Code Online (Sandbox Code Playgroud)
我知道答案是16但我在尝试计算时遇到了错误.我觉得我一开始就搞乱了循环中的一步.我知道我可以将它插入一个java客户端并得到答案,但我真的想了解循环序列,以便能够手工完成.
要真正理解它,就像计算机一样思考.写出while循环对每次迭代中的每个变量要做的事情.我省略了y因为它似乎没有用于任何东西.
x | z | (x <= 5) | z + x | x + 1
===+====+==========+=======+======
Initial: 1 | 1 | | |
===+====+==========+=======+======
Iteration 1: 1 | 1 | true | 2 | 2
Iteration 2: 2 | 2 | true | 4 | 3
Iteration 3: 3 | 4 | true | 7 | 4
Iteration 4: 4 | 7 | true | 11 | 5
Iteration 5: 5 | 11 | true | 16 | 6
Iteration 6: 6 | 16 | false | |
===+====+==========+=======+======
Final values: 6 | 16 | | |
Run Code Online (Sandbox Code Playgroud)
当x等于时6,测试x <= 5评估为false,所以我们打破了循环.现在,最后,我们可以看到z = 16.
| 归档时间: |
|
| 查看次数: |
202 次 |
| 最近记录: |