A continuación se muestra la jerarquía de operaciones y la asociatividad.
La tabla esta ordenada de mayor precedencia a menor
Precedencia | Operador | Asociatividad |
---|---|---|
1 | ! | Derecha |
2 | < <= | Ninguna |
3 | == | Ninguna |
4 | && | Izquierda |
5 | || | Izquierda |
Se puede utilizar paréntesis para especificar el orden de operaciones, de forma que puedes hacer algo como (a || b) == c.
En general, aunque existe un orden jerárquico especificado arriba, se recomienda el uso de paréntesis para evitar errores y hacer el código legible, especialmente si se están mezclando || con &&
La asociatividad representa como se interpretan los operadores.
Por ejemplo, el operador || tiene asociatvidad izquierda, por lo que a || b || c se interpreta como (a || b) || c. Mientras tanto, el operador ! tiene asociatividad derecha, por lo que !!!a se interpreta como !(!(!a))
Los operadores sin asociatividad dan errores de compilación si se usan varios operadores consecutivos. Por ejemplo, lo siguiente no está permitido a == b == c.