En esta sección aprenderemos los operador precedencia en Java junto con ejemplos.
expresión regular java $
¿Qué es la precedencia de operadores?
El precedencia del operador representa cómo se unen dos expresiones. En una expresión, determina la agrupación de operadores con operandos y decide cómo se evaluará una expresión.
Al resolver una expresión se deben tener en cuenta dos cosas: la primera es una precedencia y el segundo es asociatividad .
Precedencia
La precedencia es la prioridad para agrupar diferentes tipos de operadores con sus operandos. Sólo tiene sentido si una expresión tiene más de un operador con mayor o menor precedencia. Primero se evalúan los operadores que tienen mayor prioridad. Si queremos evaluar primero los operadores de menor precedencia, debemos agrupar los operandos usando paréntesis y luego evaluar.
asociatividad
Debemos seguir la asociatividad si una expresión tiene más de dos operadores de la misma precedencia. En tal caso, una expresión se puede resolver ya sea de izquierda a derecha o De derecha a izquierda, respectivamente.
convertir caracteres a int java
Tabla de precedencia de operadores de Java
La siguiente tabla describe la precedencia y asociatividad de los operadores utilizados en Java.
Precedencia | Operador | Tipo | asociatividad |
---|---|---|---|
15 | () [] · | Paréntesis Subíndice de matriz Selección de miembros | De izquierda a derecha |
14 | ++ -- | Post-incremento unario Post-decremento unario | De derecha a izquierda |
13 | ++ -- + - ! ~ (tipo) | Preincremento unario Predecremento unario más unario menos unario Negación lógica unaria Complemento unario bit a bit elenco de tipo unario | De derecha a izquierda |
12 | * / % | Multiplicación División Módulo | De izquierda a derecha |
11 | + - | Suma Sustracción | De izquierda a derecha |
10 | << >> >>> | Desplazamiento bit a izquierda Desplazamiento bit a derecha con extensión de signo Desplazamiento bit a derecha con extensión cero | De izquierda a derecha |
9 | < <= > >= en vez de=> | Relacional menor que Relacional menor o igual Relacional mayor que Relacional mayor o igual Comparación de tipos (solo objetos) | De izquierda a derecha |
8 | == != | Relacional es igual a Relacional no es igual a | De izquierda a derecha |
7 | & | Bit a bit Y | De izquierda a derecha |
6 | ^ | O exclusivo bit a bit | De izquierda a derecha |
5 | | | O inclusivo bit a bit | De izquierda a derecha |
4 | && | Y lógico | De izquierda a derecha |
3 | || | O lógico | De izquierda a derecha |
2 | ? : | Condicional ternario | De derecha a izquierda |
1 | = += -= *= /= %= | Asignación tarea adicional tarea de resta Asignación de multiplicación Asignación de división Asignación de módulo | De derecha a izquierda |
Nota: Cuanto mayor sea el número, mayor será la prioridad.
Ejemplo de precedencia de operadores de Java
Entendamos la precedencia de los operadores a través de un ejemplo. Considere la siguiente expresión y adivine la respuesta.
1 + 5 * 3
Quizás estés pensando que la respuesta sería 18 pero no es así. Porque el operador de multiplicación (*) tiene mayor prioridad que el operador de suma (+). Por lo tanto, la expresión primero evalúa 5*3 y luego evalúa la expresión restante, es decir, 1+15. Por tanto, la respuesta será 16 .
ordenación por inserción java
Veamos otro ejemplo. Considere la siguiente expresión.
x + y * z / k
En la expresión anterior, las operaciones * y / se realizan antes de + debido a la precedencia. y se multiplica por z antes de dividir por k debido a la asociatividad.