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
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.