Precedência de opereadores em Java
Da maior para a menor
Da maior para a menor
| Operador | Descrição |
|---|---|
| . [] () (tipo) | Máxima precedência: separador, indexação, parâmetros, conversão de tipo |
| + - ~ ! ++ -- | Operador unário: positivo, negativo, negação (inversão bit a bit), não (lógico), incremento, decremento |
| * / % | Multiplicação, divisão e módulo (inteiros) |
| + - | Adição, subtração |
| << >> >>> | Translação (bit a bit) à esquerda, direita sinalizada, e direita não sinalizada (o bit de sinal será 0) |
| < <= >= < | Operador relacional: menor, menor ou igual, maior ou igual, maior |
| == != | Igualdade: igual, diferente |
| & | Operador lógico e bit a bit |
| ^ | Ou exclusivo (xor) bit a bit |
| | | Operador lógico ou bit a bit |
| && | Operador lógico e condicional |
| || | Operador lógico ou condicional |
| ?: | Condicional: if-then-else compacto |
| = op= | Atribuição |
Considere a expressão:
1 | 2 ^ 3 * 2 & 13 | 2
- A análise é feita da esquerda para a direita.
- O primeiro cálculo a ser executado é 3 * 2, que resulta em 6.
- Em seguida, o resultado anterior é comparado com o 13, uma operação & (E): 6 & 13, que resulta em 4.
- Agora é feita uma operação de ^ (Ou exclusivo) com o 2 (mais a esquerda) e o 4 da operação anterior. O resultado é 6.
- É executada, então, a operação | (Ou) mais a esquerda: 1 | 6 que resulta em 7.
- Por último, é executadada a operação de | (Ou): 7 | 2 que também resulta em 7.
((1 | (2 ^ ((3 * 2) & 13))) | 2)
Um comentário:
Muito legal sua explixação, simples e objetiva. Obrigado.
Postar um comentário