搞不懂这个计算是怎么个顺序

为什么这个输出是3.5

      double x = 1;
      double y = 2;
      double z = 3;
      System.out.println(y += z--/++x); 

我自己算的是3啊,
y += z--/++x
2 += 3--/++1
2 +=2/2
2 += 1
这样算不是3吗?3.5怎么算的o(╥﹏╥)o

x-- 返回的是x减之前的值
--x 返回的是x减之后的值
++x 与 x++ 同理
所以 y += z-- / ++x
就是 2 += 3 / 2
就是 3.5

数字在前,先引用,后自加或自减;数字在后,先自加或自减,后引用。