logo

Precedência do Operador Java

Nesta seção, aprenderemos o operador precedência em Java junto com exemplos.

matriz java classificada

O que é precedência do operador?

O operador precedente representa como duas expressões são vinculadas. Em uma expressão, determina o agrupamento de operadores com operandos e decide como uma expressão será avaliada.

Ao resolver uma expressão, duas coisas devem ser mantidas em mente: a primeira é uma precedência e o segundo é associatividade .

Precedência do Operador Java

Precedência

A precedência é a prioridade para agrupar diferentes tipos de operadores com seus operandos. Só tem sentido se uma expressão tiver mais de um operador com precedência maior ou menor. Os operadores com maior precedência são avaliados primeiro. Se quisermos avaliar primeiro os operadores de precedência mais baixa, devemos agrupar os operandos usando parênteses e depois avaliar.

Associatividade

Devemos seguir a associatividade se uma expressão tiver mais de dois operadores com a mesma precedência. Nesse caso, uma expressão pode ser resolvida da esquerda para direita ou direita para esquerda, de acordo.

como faço para descobrir o tamanho do meu monitor

Tabela de precedência de operadores Java

A tabela a seguir descreve a precedência e associatividade dos operadores usados ​​em Java.

Precedência Operador Tipo Associatividade
quinze ()
[]
·
Parênteses
Subscrito da matriz
Seleção de membros
Da esquerda para direita
14 ++
--
Pós-incremento unário
Pós-decremento unário
Direita para esquerda
13 ++
--
+
-
!
~
(tipo)
Pré-incremento unário
Pré-decremento unário
Unário mais
Unário menos
Negação lógica unária
Complemento bit a bit unário
Elenco de tipo unário
Direita para esquerda
12 *
/
%
Multiplicação
Divisão
Módulo
Da esquerda para direita
onze +
-
Adição
Subtração
Da esquerda para direita
10 <<
>>
>>>
Deslocamento bit a bit para a esquerda
Deslocamento bit a bit para a direita com extensão de sinal
Deslocamento bit a bit para a direita com extensão zero
Da esquerda para direita
9 <
<=
>
>=
instancia de
Relacional menor que
Relacional menor ou igual
Relacional maior que
Relacional maior ou igual
Comparação de tipos (somente objetos)
Da esquerda para direita
8 ==
!=
Relacional é igual a
Relacional não é igual a
Da esquerda para direita
7 & E bit a bit Da esquerda para direita
6 ^ OR exclusivo bit a bit Da esquerda para direita
5 | OU bit a bit inclusivo Da esquerda para direita
4 && Lógico E Da esquerda para direita
3 || OU lógico Da esquerda para direita
2 ? : Condicional ternário Direita para esquerda
1 =
+=
-=
*=
/=
%=
Atribuição
Atribuição de adição
Atribuição de subtração
Atribuição de multiplicação
Atribuição de divisão
Atribuição de módulo
Direita para esquerda

Nota: Quanto maior o número, maior a precedência.

Exemplo de precedência de operador Java

Vamos entender a precedência do operador através de um exemplo. Considere a seguinte expressão e adivinhe a resposta.

 1 + 5 * 3 

Você pode estar pensando que a resposta seria 18 mas não é assim. Porque o operador de multiplicação (*) tem precedência maior que o operador de adição (+). Portanto, a expressão avalia primeiro 5*3 e depois avalia a expressão restante, ou seja, 1+15. Portanto, a resposta será 16 .

quem criou a escola

Vejamos outro exemplo. Considere a seguinte expressão.

 x + y * z / k 

Na expressão acima, as operações * e / são executadas antes de + devido à precedência. y é multiplicado por z antes de ser dividido por k devido à associatividade.