44.    Cortocircuito [short-circuit] (concepto)

Se dice del caso en el que para evaluar una expresión booleana sólo se evalúa uno de los operandos, el primero.

x && y

evalúa “x”; si es falso, devuelve FALSE; si no, evalúa “y”

Se basa en las reglas del álgebra de Boole que dicen que

true Ù y = y

false Ù y = false

x || y

evalúa “x”; si es cierto, devuelve TRUE; si no, evalúa “y”

Se basa en las reglas del álgebra de Boole que dicen que

false Ú y = y

true Ú y = true

Estos cortocircuitos sirven para acelerar la ejecución, evitando cálculos innecesarios o para evitar errores de ejecución proporcionando una escapatoria para casos particulares. Algunos ejemplos habituales:

if (Math.abs(x) < 0.01 || Math.sin(x) < 0.01) ...

if (nombre == null || nombre.length() == 0) …

if (conjunto != null && conjunto.contains(elemento)) ...

NOTA. Si se quiere evaluar siempre el segundo operando, use los operadores

x & y

x | y

respectivamente.

Temas relacionados

Vademécum