6.7. Operadores em Java (aritméticos, lógicos, etc.): Precedência de Operadores

Página 37

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.

Now answer the exercise about the content:

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

You are right! Congratulations, now go to the next page

You missed! Try again.

Next page of the Free Ebook:

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

Earn your Certificate for this Course for Free! by downloading the Cursa app and reading the ebook there. Available on Google Play or App Store!

Get it on Google Play Get it on App Store

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text