Tomemos un ejemplo simple de un objeto Cat
. Quiero estar seguro de que el cat
"no nulo" es naranja o gris.En Java, ¿cuál es el "orden de operaciones" booleano?
if(cat != null && cat.getColor() == "orange" || cat.getColor() == "grey") {
//do stuff
}
Creo que viene primero, luego el quirófano. Estoy un poco borrosa, sin embargo, así que aquí están mis preguntas:
Puede alguien caminar a través de esta declaración, así que estoy seguro de que consiga lo que sucede?
Además, ¿qué sucede si agrego paréntesis; ¿eso cambia el orden de las operaciones?
¿Cambiará mi orden de operaciones de un idioma a otro?
Si está confundido, agregue los paréntesis por lo que es obvio. –
Incluso si no es borroso para usted, agregue los paréntesis para que otras personas puedan entenderlo también. –
De Wikipedia en lógica booleana: En tales casos [de ambigüedad], se pueden usar paréntesis para aclarar el orden de las operaciones. Como siempre, las operaciones dentro del par más interno se realizan primero, seguidas por el par siguiente, etc., hasta que se hayan completado todas las operaciones entre paréntesis. Luego, se realizan todas las operaciones fuera de los paréntesis. – Stephano