Em Java, a precedência dos operadores determina a ordem em que as operações são avaliadas em uma expressão. Quando uma expressão contém vários operadores, a precedência dos operadores controla a ordem de avaliação. Além disso, os parênteses podem ser usados para alterar a ordem padrão de avaliação, definindo a precedência manualmente.
Aqui está uma breve descrição da precedência dos operadores em Java, da mais alta para a mais baixa:
- Operadores unários:
- (negativo), + (positivo), ++ (pré-incremento), -- (pré-decremento), ! (negação lógica), ~ (complemento bit a bit). - Operadores de multiplicação, divisão e módulo:
*, /, %. - Operadores de adição e subtração:
+, -. - Operadores shift:
<< (shift à esquerda), >> (shift à direita), >>> (shift à direita sem sinal). - Operadores relacionais:
<, >, <=, >=, instanceof. - Operadores de igualdade:
==, !=. - Operadores bit a bit AND:
&. - Operadores bit a bit XOR:
^. - Operadores bit a bit OR:
|. - Operadores lógicos AND:
&&. - Operadores lógicos OR:
||. - Operador condicional ternário:
? :. - Operador de atribuição e operadores de atribuição compostos:
=, +=, -=, *=, /=, %=, &=, ^=, |=, <<=, >>=, >>>=.
Lembre-se de que, em uma expressão, os operadores com maior precedência são avaliados primeiro. Se houver operadores com a mesma precedência, a associação (da esquerda para a direita ou da direita para a esquerda) determinará a ordem de avaliação.
Exemplo de uso de parênteses para alterar a precedência:
public class ExemploPrecedenciaParênteses {
public static void main(String[] args) {
int resultado = 5 * (2 + 3); // Os parênteses alteram a precedência
System.out.println("Resultado: " + resultado);
}
}
Neste exemplo, os parênteses alteram a precedência, fazendo a soma dentro dos parênteses antes da multiplicação. O resultado será 25. O uso de parênteses é uma prática recomendada para tornar o código mais legível e evitar ambiguidades na ordem de avaliação.