Entendendo Operadores em Java: Aritméticos, Relacionais e Lógicos

Por Gaspar Barancelli Junior em 15 de janeiro de 2025

Introdução

Os operadores são elementos fundamentais em qualquer linguagem de programação, pois permitem manipular dados, realizar comparações e tomar decisões no fluxo do programa. Em Java, os operadores estão divididos em várias categorias, sendo os principais: aritméticos, relacionais e lógicos. Neste post, vamos explorar cada um deles, com exemplos e boas práticas para ajudá-lo a compreender e utilizá-los de forma eficaz.

O que são Operadores?

Em Java, operadores são símbolos ou palavras reservadas usados para realizar operações em variáveis e valores. Eles são o coração da manipulação de dados, permitindo que você realize cálculos, compare valores e tome decisões no código.

Operadores Aritméticos

Os operadores aritméticos são usados para realizar cálculos matemáticos. Java oferece suporte aos seguintes operadores aritméticos:

  • + (adição): Soma dois valores.

  • - (subtração): Subtrai o valor da direita do valor da esquerda.

  • * (multiplicação): Multiplica dois valores.

  • / (divisão): Divide o valor da esquerda pelo da direita.

  • % (módulo): Retorna o resto da divisão inteira entre dois valores.

Exemplo:

public class OperadoresAritmeticos {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;

        System.out.println("Adição: " + (a + b)); // 13
        System.out.println("Subtração: " + (a - b)); // 7
        System.out.println("Multiplicação: " + (a * b)); // 30
        System.out.println("Divisão: " + (a / b)); // 3
        System.out.println("Módulo: " + (a % b)); // 1
    }
}

Operadores Relacionais

Os operadores relacionais são usados para comparar dois valores. Eles retornam um valor booleano (true ou false) e são muito úteis em estruturas de decisão, como if e while.

  • == (igual a): Verifica se dois valores são iguais.

  • != (diferente de): Verifica se dois valores são diferentes.

  • > (maior que): Verifica se o valor da esquerda é maior que o da direita.

  • < (menor que): Verifica se o valor da esquerda é menor que o da direita.

  • >= (maior ou igual a): Verifica se o valor da esquerda é maior ou igual ao da direita.

  • (menor ou igual a): Verifica se o valor da esquerda é menor ou igual ao da direita.

Exemplo:

public class OperadoresRelacionais {
    public static void main(String[] args) {
        int a = 10;
        int b = 5;

        System.out.println("a == b: " + (a == b)); // false
        System.out.println("a != b: " + (a != b)); // true
        System.out.println("a > b: " + (a > b)); // true
        System.out.println("a < b: " + (a < b)); // false
        System.out.println("a >= b: " + (a >= b)); // true
        System.out.println("a <= b: " + (a <= b)); // false
    }
}

Operadores Lógicos

Os operadores lógicos são usados para combinar expressões booleanas. Eles retornam um valor booleano e são frequentemente usados em estruturas de controle.

  • && (E lógico): Retorna true se ambas as expressões forem verdadeiras.

  • || (OU lógico): Retorna true se pelo menos uma das expressões for verdadeira.

  • & (E lógico bit a bit): Sempre avalia ambas as expressões, independentemente do valor da primeira.

  • | (OU lógico bit a bit): Sempre avalia ambas as expressões, mesmo que a primeira já seja verdadeira.

  • ! (NOT lógico): Inverte o valor lógico da expressão.

Exemplo:

public class OperadoresLogicos {
    public static void main(String[] args) {
        boolean condicao1 = true;
        boolean condicao2 = false;

        System.out.println("condicao1 && condicao2: " + (condicao1 && condicao2)); // false
        System.out.println("condicao1 || condicao2: " + (condicao1 || condicao2)); // true
        System.out.println("condicao1 & condicao2: " + (condicao1 & condicao2)); // false
        System.out.println("condicao1 | condicao2: " + (condicao1 | condicao2)); // true
        System.out.println("!condicao1: " + (!condicao1)); // false
    }
}

Boas Práticas ao Utilizar Operadores

  • Agrupe Expressões com Parênteses Para melhorar a legibilidade e evitar ambiguidades, use parênteses para agrupar expressões:

int resultado = (10 + 5) * 2; // Mais claro que 10 + 5 * 2
  • Evite Divisão por Zero Sempre verifique se o divisor é diferente de zero antes de realizar divisões:

if (b != 0) {
    System.out.println("Divisão: " + (a / b));
} else {
    System.out.println("Erro: Divisão por zero!");
}
  • Use Operadores Lógicos com Cuidado Evite expressões lógicas muito complexas. Considere dividir a lógica em variáveis intermediárias:

boolean condicao1 = (a > b);
boolean condicao2 = (b > 0);
if (condicao1 && condicao2) {
    System.out.println("Condições atendidas!");
}
  • Use Separadores de Milhares Para facilitar a leitura de números grandes, utilize o caractere `_ para separar milhares:

int populacao = 1_000_000; // Melhor que 1000000
long distancia = 384_400_000; // Distância da Terra à Lua em metros
System.out.println("População: " + populacao);
System.out.println("Distância: " + distancia);

Conclusão

Os operadores aritméticos, relacionais e lógicos são ferramentas indispensáveis para manipular dados, realizar comparações e tomar decisões no código Java. Entender como eles funcionam e seguir boas práticas ao utilizá-los pode ajudar a evitar erros comuns e tornar seu código mais claro e eficiente.

Nos próximos posts da série “Aprendendo Java do Zero: Guia Completo para Iniciantes”, exploraremos estruturas de controle de fluxo e como elas podem ser combinadas com operadores para criar programas mais robustos.

// Compartilhe esse Post

💫
🔥 NOVO APP

Domine o Inglês em 30 dias!

Inteligência Artificial + Repetição Espaçada • Método cientificamente comprovado

✅ Grátis para começar 🚀 Resultados rápidos
×