DEV Community

Precedência de operadores

Aqui está um resumo da tabela de precedência dos operadores Java:

Image description

Mais alta:
Operadores de incremento e decremento pós-fixo (++, --).
Operadores de incremento e decremento prefixo, unários (+, -, ~, !), e coerção de tipo.

Alta:
Multiplicação, divisão, e módulo (*, /, %).

Intermediária:
Adição e subtração (+, -).
Deslocamentos de bits (>>, >>>, <<).
Comparações (>, >=, <, <=, instanceof).
Igualdade (==, !=).

Baixa:
AND bit a bit (&).
XOR bit a bit (^).
OR bit a bit (|).
AND lógico (&&).
OR lógico (||).
Operador ternário (?:).

A precedência de operadores refere-se à ordem em que as operações são realizadas dentro de uma expressão. Quando você escreve uma expressão com múltiplos operadores, a precedência determina quais partes da expressão são avaliadas primeiro. Isso é especialmente importante em expressões complexas para garantir que o resultado seja o esperado.

Exemplo de Precedência de Operadores

Considere a expressão:

int result = 3 + 5 * 2;

Enter fullscreen mode Exit fullscreen mode

De acordo com a precedência dos operadores, a multiplicação (*) tem uma precedência mais alta do que a adição (+). Portanto, a expressão é avaliada como:

int result = 3 + (5 * 2); // result = 3 + 10
Enter fullscreen mode Exit fullscreen mode

O resultado final é:

int result = 13;

Enter fullscreen mode Exit fullscreen mode

Outro Exemplo com Parênteses
Se você quiser alterar a ordem de avaliação, pode usar parênteses para forçar uma ordem diferente:

int result = (3 + 5) * 2;

Enter fullscreen mode Exit fullscreen mode

Neste caso, a adição é realizada primeiro porque os parênteses têm a precedência mais alta:

int result = 8 * 2; // result = 16

Enter fullscreen mode Exit fullscreen mode

Importância da Precedência de Operadores
Compreender a precedência dos operadores é crucial para escrever expressões corretamente e evitar erros lógicos no seu código. Isso garante que as operações sejam realizadas na ordem desejada sem a necessidade de parênteses desnecessários, tornando o código mais legível e eficiente.

Top comments (0)