java - Java代码输出解释-postIncrement运算符

标签 java

我正在寻找代码后端逻辑的答案。

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 1

System.out.println("输出"+ (i += i++)); 2 3 4 5

when System.out.println("输出步骤2"+ i); 6

您可以尝试使用 Jeliot

关于java - Java代码输出解释-postIncrement运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26214879/

相关文章:

java - 在 URLConnection 类中处理 UTF-8 字符

java - JPA。 JOIN 嵌套 SELECT "unexpected token ("

java - 当使包含 EJB 的模块成为另一个模块的依赖项时,@PostConstruct 方法被调用两次

java - 是否存在零参数谓词?

JavaFX:检测应用程序是否嵌入在浏览器中

java - Neo4j 子图遍历

java - JDBC (Derby) INSERT 查询因 SQLSyntaxErrorException 而失败

java - setText() 上的 NullPointer 异常,而所有内容都已正确加载和注释

java - Ant 到gradle迁移中生成的源代码

java - 无法从 1 个单项中减去?