虽然一个很简单的问题,但是很多时候自己也搞混了

一个测试程序来测试不同的结果

public static void main(String[] args) {
        int i = 0;
        int a = ++i;
        System.out.print("++i的情况:  a=" + a + ",i=" + i);
        System.out.print("\n");
        i = 0;
        a = i++;
        System.out.print("i++的情况:  a=" + a + ",i=" + i);
    }

运行的结果:

++i的情况:  a=1,i=1
i++的情况:  a=0,i=1

总结: 不管在i++还是++i的情况下, I的值最后都是加了1. 但是a 的值却不同

最后关于这一题的结果是

image

public static void main(String[] args) {
    int x = 0;
    int y = 1;
     int a = x++ + ++x;
    // a = 0+2=2;
     int b = y– – –y;
    //b=1- -1=2
    System.out.print( ++a + b++  );
    //3+2 =5
}

结果是5