class MyExamCloudOCAJP8{
    public static void main(String[] args){
        int x = 3;
        int y = ++x * 4 / x-- + --x;
        System.out.println("y + x is " + (y + x)); //y + x is 8
    }
}class MyExamCloudOCAJP8{
    public static void main(String[] args){
        int x = 3;
        int y = ++x * 4 / x-- + --x;
        System.out.println("y + x is " + (y + x)); //y + x is 8
    }
}Oi Delmo,
É só você pensar o seguinte, todo pré-incremento ou decremento acontece antes da operação (++ ou -- antes da variável) e todo pós-incremento ou decremento acontece depois da operação realizada (++ ou -- depois da variável).
Vamos analisar passo-a-passo o que acontece:
int x = 3; 
int y = ++x * 4 / x-- + --x;x é inicializado com o valor de 3, depois é feito um pré-incremento de x, passando este a valer 4. Em seguida é feita uma multiplicação de x * 4 cujo resultado é 16. Este resultado é dividido pelo valor atual de x pois é feito um pós-decremento.
O resultado da operação é 4 e x é decrementado passando a valer 3. Depois disso só resta a soma que é efetuado com o valor de x decrementado, mas desta vez é um pré-decremento e x passa a valer 2 antes da subtração feita. Então temos 4 do resultado anterior somando com 2 e y recebe o valor 6.
Já no print temos:
System.out.println("y + x is " + (y + x));Como foi colocado um parenteses separando a soma da concatenação, o valor de x e y é somado antes da concatenação ser efetuada. O resultado da soma é 8.
Por isso imprime y + x is 8.
Abraço!