相关疑难解决方法(0)

增量逻辑

我正试图深入了解post和pre incrementors,但是我对以下表达式有点困惑:

public static void main(String[] args) {
    int i = 0;
    i = i+=(++i + (i+=2 + --i) - ++i);
    // i = 0 + (++i + (i+=2 + --i) - ++i);
    // i = 0 + (1 + (3 + 2) - 1);
    // i = 0 + (6 - 1);
    System.out.println(i); // Prints 0 instead of 5
}
Run Code Online (Sandbox Code Playgroud)

我知道我在哪里错过了逻辑,但在哪里?

我尝试过的:

  • 从左到右(虽然我知道不推荐)
  • 从内部支架开始,从那里开始.

谢谢您的帮助

PS:评论是我的微积分的细节

编辑1

我试图将de hard编码值从表达式2改为其他东西,结果总是给出0

看看这个例子:

    int i = 0;
    i = …
Run Code Online (Sandbox Code Playgroud)

java logic pre-increment post-increment

21
推荐指数
2
解决办法
1285
查看次数

标签 统计

java ×1

logic ×1

post-increment ×1

pre-increment ×1