6.7 Operadores em Java: Precedência de Operadores

Em Java, como em muitas outras linguagens de programação, os operadores são ferramentas essenciais que permitem realizar operações sobre variáveis e valores. Eles são classificados em diferentes categorias com base no tipo de operação que realizam: aritméticos, lógicos, relacionais, de atribuição, entre outros. A compreensão da precedência de operadores é fundamental para escrever expressões claras e corretas, evitando erros lógicos e de interpretação.

Operadores Aritméticos

Os operadores aritméticos são usados para realizar operações matemáticas básicas. Os operadores aritméticos em Java incluem:

  • + (adição)
  • - (subtração)
  • * (multiplicação)
  • / (divisão)
  • % (módulo - resto da divisão)

Exemplo:

int a = 10;
int b = 5;
int soma = a + b; // 15
int subtracao = a - b; // 5
int multiplicacao = a * b; // 50
int divisao = a / b; // 2
int modulo = a % b; // 0

Operadores Lógicos

Os operadores lógicos são utilizados em expressões booleanas e são essenciais para o controle de fluxo em programas Java. Os operadores lógicos incluem:

  • && (E lógico)
  • || (OU lógico)
  • ! (NÃO lógico)

Exemplo:

boolean verdadeiro = true;
boolean falso = false;
boolean resultadoE = verdadeiro && falso; // false
boolean resultadoOU = verdadeiro || falso; // true
boolean resultadoNAO = !verdadeiro; // false

Operadores Relacionais

Os operadores relacionais são usados para comparar dois valores e retornam um valor booleano como resultado. Incluem:

  • == (igual a)
  • != (diferente de)
  • > (maior que)
  • < (menor que)
  • >= (maior ou igual a)
  • <= (menor ou igual a)

Exemplo:

int x = 10;
int y = 20;
boolean igual = (x == y); // false
boolean diferente = (x != y); // true
boolean maior = (x > y); // false
boolean menor = (x < y); // true
boolean maiorOuIgual = (x >= y); // false
boolean menorOuIgual = (x <= y); // true

Operadores de Atribuição

Os operadores de atribuição são usados para atribuir valores a variáveis. O operador básico de atribuição é o =, mas há também operadores de atribuição combinados:

  • += (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)

Exemplo:

int numero = 10;
numero += 5; // numero agora é 15
numero -= 3; // numero agora é 12
numero *= 2; // numero agora é 24
numero /= 4; // numero agora é 6
numero %= 2; // numero agora é 0

Precedência de Operadores

A precedência de operadores determina a ordem na qual os operadores são avaliados em expressões. Operadores com maior precedência são avaliados antes daqueles com menor precedência. Em caso de operadores com a mesma precedência, a avaliação é feita da esquerda para a direita.

Aqui está a lista de precedência de operadores em Java, do mais alto para o mais baixo:

  1. Operadores pós-fixados: expressao++, expressao--
  2. Operadores unários: ++expressao, --expressao, +, -, !, ~ (bitwise NOT)
  3. Operadores de multiplicação/divisão/mod: *, /, %
  4. Operadores de adição/subtração: +, -
  5. Operadores de deslocamento: <<, >>, >>>
  6. Operadores relacionais: <, >, <=, >=, instanceof
  7. Operadores de igualdade: ==, !=
  8. Operador bitwise AND: &
  9. Operador bitwise XOR: ^
  10. Operador bitwise OR: |
  11. Operadores lógicos AND: &&
  12. Operadores lógicos OR: ||
  13. Operador ternário: ? e :
  14. Operadores de atribuição: =, +=, -=, *=, /=, %=, &=, ^=, |=, <<=, >>=, >>>=

É importante notar que parênteses () podem ser usados para alterar a ordem de avaliação das expressões, forçando certas operações a terem precedência sobre outras.

Exemplo:

int resultado = 10 + 3 * 2; // resultado é 16, multiplicação tem precedência sobre adição
int resultadoComParenteses = (10 + 3) * 2; // resultado é 26, parênteses alteram a precedência

Entender a precedência de operadores é crucial para a escrita de código claro e eficiente em Java. Saber como os operadores interagem entre si permite que os programadores construam expressões complexas sem ambiguidade e com o comportamento esperado.

Em resumo, ao aprender a programar em Java, é essencial dominar os diferentes tipos de operadores e a precedência entre eles. Isso garantirá que você possa criar algoritmos precisos e eficientes, fundamentais para o desenvolvimento de software robusto e confiável.

Agora responda o exercício sobre o conteúdo:

_Qual das seguintes alternativas representa corretamente a ordem de precedência de operadores em Java, do mais alto para o mais baixo?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Operadores em Java (aritméticos, lógicos, etc.): Conversão de Tipos (casting)

Próxima página do Ebook Gratuito:

38Operadores em Java (aritméticos, lógicos, etc.): Conversão de Tipos (casting)

4 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto