Existen operaciones que se ejecutan con mayor prioridad que otras cuando estas están en una expresión, por lo que es importante conocerlas de forma que no obtengamos cálculos errados debido a este motivo.
Evaluando las Expresiones
Como bien habíamos dicho, tenemos un orden de prioridad para poder ejecutar las operaciones, esto hace que una operación planteada de una u otra forma tal vez pueda darnos un resultado no esperado por nosotros y hacernos cometer un error en nuestro programa.
Para evitar este tipo de problemas veamos en la próxima imagen el siguiente ejemplo donde vamos a traducir una operación del mundo real a Java y así podemos conocer las prioridades de las operaciones en una expresión:
Como vemos utilizamos los diferentes operadores de Java para establecer un equivalente de la primera expresión que tomamos del mundo real.
Una vez que ya está en Java, el lenguaje tiene sus propias reglas para evaluar y aplicar la precedencia de las operaciones, el orden sería el siguiente:
- Los paréntesis interiores, luego los exteriores.
- Las multiplicaciones
- Las divisiones
- Las sumas o adiciones
- Las restas o sustracciones
Como podemos ver seguimos el orden que habíamos indicado en cuanto a las operaciones, sin embargo podemos notar un comportamiento adicional, las operaciones son evaluadas de izquierda a derecha, es decir si dos operaciones tienen la misma prioridad se realiza primera la más cercana a la izquierda, esto lo podemos ver en el ejemplo en los puntos 2 y 3 que son dos multiplicaciones y en los puntos 4 y 5 donde son dos adiciones.
Entonces con esto ya sabemos cómo realizamos la traducción de las operaciones de la aritmética a Java.
Vamos a realizar un ejemplo práctico que nos permita utilizar lo aprendido, vamos a realizar un programa que haga la conversión de grados Fahrenheit a grados Celsius.
Primero veamos la fórmula original para hacer este cálculo:
Ahora tenemos acá el código que nos permite hacer la conversión:
import Java.util.Scanner; public class FahrenheitToCelsius { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("Introduzca los grados Fahrenheit: "); double fahrenheit = input.nextDouble(); // Realizamos la Conversion double celsius = (5.0 / 9) * (fahrenheit - 32); System.out.println("*******************************"); System.out.println("Fahrenheit " + fahrenheit + " es " + celsius + " in Celsius"); System.out.println("*******************************"); } }
Ahora vemos el resultado de nuestro programa:
Ya podemos hacer la conversión, si vemos la formula double celsius = (5.0 / 9) * (fahrenheit – 32); aquí primero ejecutamos las operaciones entre paréntesis, luego hacemos la multiplicación de ambos resultados.
Con esto finalizamos este tutorial, con el cual podemos asegurar que ya estamos en capacidad de trasladar fórmulas más complejas a nuestros programas en Java sin ningún inconveniente.