Confundido acerca de los resultados calcul java operador de precedencia

e2rabi:

Tengo una expresión que estoy confundido con los resultados Cómo se calcula

int a = 7;
boolean res = a++ == 7 || a++ == 9;
System.out.println("a = " + a);
System.out.println("res = " + res);

Esto me da como resultados:

a = 8
res = true

No entendía por qué un obtener el valor 8 espero que a = 9 como un resultado Puede alguien explicar cómo se calcula?

Pochmurnik:

La evaluación perezosa se utiliza aquí. En alternativa solo operando (argumento) necesidad de ser fiel a realizar consecuencia verdadera alternativa. Argumento izquierdo es cierto en este caso (porque utiliza postincrementation, ase incrementará después de la hora), lo que no hay necesidad de comprobar lado izquierdo de alternativa.

Significa segundos de incremento no será ejecutada.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=199123&siteId=1
Recomendado
Clasificación