關於 i=i++ 問題、入棧順序

JavaEE_202008發表於2020-11-19

案例如下:
結論:1. 等號右邊從左到右依次入棧,實際運算取決於運算子優先順序;
關於i = i ++: 入棧時值為1,儘管自增過,變為2,但賦值時,2又被1覆蓋了;
關於k = i + ++ i * i ++:入棧時 i 為2,運算先算乘法
public class demo1 {

public static void main(String[] args) {
    int i = 1;
    i = i++;
    System.out.println(i);   // 1

    int j = i++;
    System.out.println(j);   // 1

    int k = i + ++i * i++;
    System.out.println(k);   // 11 = 2 + 3 * 3

    System.out.println(i);   // 4
}

}

相關文章