Da trilha de Java Este conceito ainda não saiu como card do dia. ir para o card de hoje

Java Fundamentos Básico

Operadores e conversões

Em Java, operadores aritméticos (+, -, *, /, %) e lógicos (&&, ||, !) são fundamentais para manipular dados. A divisão inteira (/) entre dois inteiros descarta a parte fracionária, enquanto o operador % retorna o resto. Já os operadores lógicos combinam expressões booleanas e usam curto-circuito: && só avalia o segundo operando se o primeiro for true, e || só avalia o segundo se o primeiro for false.

Conversões de tipo podem ser implícitas (promoção numérica) ou explícitas (casting). A promoção ocorre quando um valor de tipo menor é convertido automaticamente para um tipo maior, como int para double. O casting é necessário para converter um tipo maior para um menor, como double para int, e pode causar perda de informação.

Entender esses conceitos evita erros comuns, como divisão inteira inesperada ou perda de precisão. Por exemplo, 5 / 2 resulta em 2, não 2.5, a menos que pelo menos um operando seja double. O casting explícito (int) 3.9 trunca o valor para 3, descartando a parte decimal.

Pontos-chave

  • A divisão entre inteiros (/) descarta a parte decimal; para obter resultado real, um dos operandos deve ser double.
  • O operador % retorna o resto da divisão inteira e é útil para verificar paridade ou ciclos.
  • A promoção numérica converte automaticamente tipos menores para maiores em operações mistas (ex.: int + double → double).
  • O casting explícito (tipo) converte tipos maiores para menores, podendo truncar ou perder precisão.
  • Operadores lógicos && e || têm curto-circuito, evitando avaliações desnecessárias e possíveis erros.
OperadoresConversoes.java
public class OperadoresConversoes {
    public static void main(String[] args) {
        // Aritméticos e divisão inteira
        int a = 7, b = 3;
        System.out.println("Divisão inteira: " + (a / b)); // 2
        System.out.println("Resto: " + (a % b));          // 1

        // Promoção numérica: int + double -> double
        double soma = a + 2.5;
        System.out.println("Promoção: " + soma); // 9.5

        // Casting explícito: double para int (trunca)
        double pi = 3.14159;
        int piInt = (int) pi;
        System.out.println("Casting: " + piInt); // 3

        // Operadores lógicos com curto-circuito
        boolean cond1 = false;
        boolean cond2 = true;
        System.out.println("E lógico: " + (cond1 && cond2)); // false
        System.out.println("Ou lógico: " + (cond1 || cond2)); // true
        System.out.println("Negação: " + (!cond1));          // true

        // Exemplo de curto-circuito: evita divisão por zero
        int divisor = 0;
        if (divisor != 0 && 10 / divisor > 1) {
            System.out.println("Isso não será impresso");
        } else {
            System.out.println("Curto-circuito evitou erro");
        }
    }
}

Exercícios

  1. 1
    Fácil

    Calculadora de média simples

    Crie um programa que calcule a média aritmética de três números inteiros e exiba o resultado como um valor double. Use casting ou promoção para garantir que a divisão não seja inteira.

    Resolver
  2. 2
    Médio

    Verificador de paridade e curto-circuito

    Escreva um programa que verifique se um número inteiro é par e positivo usando operadores lógicos com curto-circuito. O programa deve imprimir true se ambas as condições forem verdadeiras, caso contrário false. Use o operador % para testar paridade.

    Resolver
  3. 3
    Desafio

    Conversão de temperatura com casting e formatação

    Crie um programa que converta uma temperatura de Celsius para Fahrenheit usando a fórmula F = C * 9/5 + 32. A temperatura Celsius deve ser um double com valor 36.6. O resultado Fahrenheit deve ser arredondado para inteiro usando casting explícito e impresso no formato Fahrenheit: XX (sem casas decimais).

    Resolver

Continue estudando