pil*_*boy 4 java loops pre-increment post-increment
我无法理解以下代码块.
int count = 0;
for (int i = 0; i < 3; i++){
count += (count++);
System.out.println("count = " + count);
System.out.println("i = " + i);
}
Run Code Online (Sandbox Code Playgroud)
我的理解是循环运行三次以执行以下操作
count = count + count
count = 1 + count
Run Code Online (Sandbox Code Playgroud)
这将转换为以下内容,因为count最初为0:
count = 0 + 0
count = 1 + 0 = 1
count = 1 + 1 = 2
count = 1 + 2 = 3
count = 3 + 3 = 6
count = 6 + 1 = 7
Run Code Online (Sandbox Code Playgroud)
输出在下面,计数打印为0.
count = 0
i = 0
count = 0
i = 1
count = 0
i = 2
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释一下吗?谢谢
令人困惑的部分是这条线 -
count+ = (count++);
Run Code Online (Sandbox Code Playgroud)
这有效地做到了这一点 -
count = count + ( count++ );
Run Code Online (Sandbox Code Playgroud)
因此,(count++)等式的值为0,后增量发生在之后,但随后count被赋予0,因此后增量被丢弃.
这发生了3次.