当一个算术表达式中有一个变量的前添或者后加,用到的这个变量是原值还是加后的值

当一个算术表达式中有一个变量的前加或者后加,用到的这个变量是原值还是加后的值?
例如:
  int x=1,y=3,z=2;
  System.out.println(y--/++x);      // 输出是 1
  
   System.out.println((z++)*3);    // 输出是6

我知道前加和后加在给另一变量赋值时的区别,前加是使用加1后的值,后加是使用原值

第一句y--后减语句为什么不是使用的原值3?
第二句z++后加是使用的原值2

能告诉下编译器处理这个问题的原理吗?

------解决方案--------------------
你这输出是java函数吧?
不过我只从C++的编译器来讲,你y--/++x,使用的也是y之前的值,至于为什么为变成1,
这是因为3/2,整数相除不会有小数,小数直接去掉了,
不信你可以这样:

int x=1,y=3,z=2;
printf("%f\n", ((double)y--/++x));      // 输出是1.500000