使用除法和乘法递增和递减运算符

时间:2016-06-06 13:25:59

标签: java

public class Increment {

    public static void main(String[] args) {
        int a = 0;
        int b = 0;
        int c = --a + a++ + ++a * ++b;

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
    }
}

我无法理解为什么c == -1,请解释。

1 个答案:

答案 0 :(得分:2)

您从左到右评估一元运算符。然后在加法之前评估乘法。

int c=--a   +  a++   +  ++a   *  ++b;
       -1   +   -1   +   (1   *   1)    =  -2 + (1 * 1) = -1
      a==-1    a==0     a==1    b==1