java中的前++和后++的疑惑?

 public static void main(String[] args) {
                int h = 3;
//      int temp = h++; 
//      System.out.println("temp = " + temp);
        h = h++;
        System.out.println("h = " + h);
        h = ++h;
        System.out.println("h = " + h);

}

打印结果是:
h = 3
h = 4

刚回答个一样的问题,我就直接复制过来了说下。

int h = 3;
h = h++;
System.out.println("h = " + h);

你可以想成h++这个运算式会有两个结果,一个是运算式本身的值,一个是对h的自加效果;
当它们运行时,遵循以下顺序:
首先,h++运算式产生运算值,为3;
然后,对h产生自加效果,这时h为4;
最后,h=这个赋值语句将h++运算式产生的运算值赋值给h,这时h又变为3。

后++后执行,如int temp = h++; 会先执行temp = h的赋值操作,再执行h=h+1
前++先执行,如h = ++h; 会先执行h=h+1,再执行h = h的赋值操作

运算方法不同,前++是先执行自加再赋值,后++是先赋值后执行自加

这是运算顺序决定的,如果++在后面,则会先执行赋值操作,这时后面的++已经不会对前面的h产生影响了,所以h=3,而++在前面,就会先进行
自增的操作,然后赋值,所以h=4,不知道这样讲楼主明不明白

h++ 先运算后赋值
++h先赋值后运算