Post 增量评估 i + i++ + i + i++;

Post Increment Evaluation i + i++ + i + i++;

我正在经历 增量运算符减量运算符,但坚持这个问题的逻辑。

class Demo {

public static void main(String args[]) {

    i= 0, j= 0;  
    j = i + i++ + i + i++;

System.out.println("i="+i);
System.out.println("j="+j);

}
}

我如何评价这个?

Java 有一个从左到右的保证评估顺序,这意味着

j = i + i++ + i + i++;

评估为(按顺序)

i      // 0
i++    // 0 (and i becomes 1)
i      // 1
i++    // 1 (and i becomes 2)

因此答案将是 2, 2