我正在寻找代码后端逻辑的答案。
int i=4;
System.out.println("Output"+ (i += i++));
System.out.println("Output Step 2"+ i);
两种情况的答案都是 8。现在,对于第一步,答案 8 非常自然,因为 i += i++
转换为 i = i + i++
;。
由于 i++
是后增量运算符,因此它应该在步骤 2 中将值增加到 9。我的理解有什么缺陷?
最佳答案
System.out.println("Output"+ (i += i++)); // sum will be 8, i=8
然后 i++
的后置运算符不会生效,因为求和发生在这之前。
确保Java
按值传递。
到底发生了什么?
当int i=4
时
当 System.out.println("输出"+ (i += i++));
when System.out.println("输出步骤2"+ i);
您可以尝试使用 Jeliot
关于java - Java代码输出解释-postIncrement运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26214879/