Hola a todos, hoy os explicare las prioridades de los operadores en Java, algo ha tener en cuenta al hacer formulas complicadas.
La prioridad de operadores es muy importante, ya que puede variar el resultado de una variable que tiene una formula complicada.
La prioridad de operadores es la siguiente:
Nombre | Simbolo |
---|---|
Paréntesis, Corchetes, Punto | ( ), [ ], . |
Signo negativo, Decremento, Incremento, Negacion | -num, --, ++, ! |
Nuevo objeto | new (tipo) |
Multiplicación, División, Módulo | *, /, % |
Suma, Resta | +, - |
Mayor, Menor, Mayor o igual que, Menor o igual que | >, <, =>, =< |
Igualación, Distinto | ==, != |
AND | && |
OR | || |
Condicional | ?: |
Asignación | =, +=, -=, *=, /=, %= |
Veamos algún ejemplo, para entenderlo mejor:
public class PruebaApp { public static void main(String[] args) { int variable=10+5*5; System.out.println(variable); } }
Examinemos la formula anterior, en este caso el resultado sería 35, ya que primero multiplica 5*5 y después se suma 10, porque la multiplicación tiene mas prioridad que la suma. Si quisiéramos que se sumara primero, usaríamos un ( ).
Veamos como quedaría ahora:
public class PruebaApp { public static void main(String[] args) { int variable=(10+5)*5; System.out.println(variable); } }
Ahora el resultado cambia, ya que primero se suma 10+5 y luego se multiplica por 5. Lo mejor es usar mensajes de traza para comprobar que el resultado es el que esperamos.
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
INTERESANTE
TRAFFIC CLUB
CUENTOS DE TERROR Y PROFECIAS
felicitaciones nuevamente por el blog, me sirve mucho para aprender
gracias
tigra
traffic.club
tigra-pantro
Porque en este caso tiene prioridad la division ? 17 / 15 * 30
porque 2*4/16 primero divide y luego multiplica y si es también 16/2*4, también divide y luego multiplica.