¿Que es una expresión en
Java?
Una
expresión es una combinación de variables, operadores y llamadas de métodos
construida de acuerdo a la sintaxis del lenguaje que devuelve un valor.
¿Qué permite las expresiones en Java?
Una
expresión permite realizar operaciones entre valores utilizando distintos operadores.
Las expresiones son útiles para representar las fórmulas matemáticas que se
utilizan para realizar cálculos.
En
Java se pueden definir expresiones tan complejas como sea necesario.
Por ejemplo:
para convertir una temperatura de grados Fahrenheit a
Centígrados se utiliza la fórmula:
C = ((F – 32) * 5) / 9
En este ejemplo C
representa la temperatura en grados centígrados y F en grados Fahrenheit. La
fórmula en Java, utilizando las variables centigrados y fahrenheit de tipo double.
centigrados = ((fahrenheit – 32.0) * 5.0)) / 9.0;
Toda la expresión se
evalúa a un valor. El orden de los cálculos depende del orden de prioridad de
los operadores: primero los operadores unarios, después los multiplicativos, de
izquierda a derecha, después los operadores aditivos, de izquierda a derecha,
después los operadores de relación y por último los operadores de asignación.
Por ejemplo: la expresión x = -3 + 2 * 4 – 12 / 6 + 5 se calcula en el orden siguiente:
Primero se aplica el
operador unario (-) a 3 y se obtiene -3. A continuación se
evalúan los operadores multiplicativos de izquierda a derecha. Se calcula el
producto de 2 * 4 y se obtiene 8, después se divide 12 / 6 y se obtiene 2.
Al finalizar estas
operaciones la expresión queda x = -3 +
8 – 2 + 5. Por último, se evalúan los operadores aditivos de izquierda a
derecha y se obtiene 8.
Cuando se desea
modificar el orden de prioridad de los operadores es necesario utilizar
paréntesis para indicar el orden de evaluación. Por ejemplo, al calcular el
valor de y = -3 + 2 * (14 – 2) / 6 +
5 se obtiene 6.
Expresiones
aritmético-lógicas
Una expresión aritmético-lógica
devuelve un valor lógico verdadero o falso.
En este tipo de
expresiones se utilizan operadores aritméticos, operadores relacionales y de
igualdad. Por ejemplo, una expresión lógica puede ser:
(10 – 2) > (5 – 3)
En este ejemplo la
expresión aritmético-lógica es verdadera porque el lado derecho de la expresión
es mayor que el lado izquierdo.
En una expresión
aritmético-lógica se pueden combinar varias expresiones con operadores lógicos.
La precedecencia de los operadores lógicos es menor que la de los operadores
relacionales, por lo que primero se evalúan las desigualdades y después los
operadores lógicos. El orden de prioridad de los operadores lógicos es el
siguiente: primero la negación, después el Y lógico y por último el O lógico.
La prioridad de los operadores de asignación es la menor de todas.
Por ejemplo: la
expresión 3 + 5 < 5 * 2 || 3 > 8 && 7 > 6 – 2 se evalúa en
el orden siguiente.
Primero se evalúan
las expresiones aritméticas y se obtiene la expresión lógica 8 < 10 || 3 > 8 && 7 > 4.
A continuación se evalúan los operadores relacionales y se obtiene true || false && true. Ahora se
evalúa el operador Y lógico con los operandos false && true y se obtiene false.
Por último, se evalúa
el operador O lógico con los operandos true || false y se obtiene true, el
valor final de la expresión.
Los operadores
lógicos && y || se evalúan por cortocircuito. Esto significa que al
evaluar a && b, si a es falso, no es necesario evaluar b porque la expresión
es falsa. De forma similar, al evaluar a || b, si a es verdadero, no es
necesario evaluar b porque la expresión es verdadera.