Precedência de operador e capacidade de associação
Cada operador no conjunto de operadores que o avaliador de expressão aceita tem uma precedência designada na hierarquia de precedência e inclui uma direção na qual ele será avaliado. A direção de avaliação para um operador é a capacidade de associação do operador. Os operadores com maior precedência são avaliados antes dos operadores com menor precedência. Se uma expressão complexa tiver vários operadores, a precedência de operador determina a ordem na qual as operações são executadas. A ordem de execução pode afetar o valor resultante significativamente. Alguns operadores têm precedência igual. Se uma expressão contiver vários operadores de precedência igual, os operadores serão avaliados de forma direcional, da esquerda para a direita ou da direita para a esquerda.
A tabela a seguir lista a precedência de operadores na ordem de cima para baixo. Os operadores ao mesmo nível têm precedência igual.
Símbolo do operador | Tipo de operação | Capacidade de associação |
---|---|---|
( ) | Expression | Da esquerda para a direita |
-, !, ~ | Unário | Da direita para a esquerda |
conversões | Unário | Da direita para a esquerda |
*, / ,% | Multiplicativo | Da esquerda para a direita |
+, - | Aditiva | Da esquerda para a direita |
<, >, <=, >= | Relacional | Da esquerda para a direita |
==, != | Igualitário | Da esquerda para a direita |
& | AND bit a bit | Da esquerda para a direita |
^ | OR exclusivo bit a bit | Da esquerda para a direita |
| | OR inclusivo bit a bit | Da esquerda para a direita |
&& | AND lógico | Da esquerda para a direita |
|| | OR lógico | Da esquerda para a direita |
? : | Expressões condicionais | Da direita para a esquerda |