Atualizado: 28/09/2025

Este conteúdo é original e não foi gerado por inteligência artificial.

Operações Matemáticas em Java com a Classe Math

Para a realização de diversas operações matemáticas, a linguagem Java oferece a classe Math, localizada no pacote java.lang. Como este pacote é importado automaticamente em todos os programas Java, não é necessário declarar import java.lang.Math; no início do código.

Esta classe é final e não pode ser herdada. Todos os seus métodos e constantes são estáticos, o que significa que são chamados diretamente a partir da classe (por exemplo, Math.sqrt()), sem a necessidade de criar um objeto.

Funções Básicas

Estas são algumas das operações aritméticas mais comuns.

  • abs(valor): Retorna o valor absoluto (módulo) de um número.

    System.out.println(Math.abs(-13.5)); // Exibe 13.5
  • pow(base, expoente): Retorna o valor da base elevada à potência do expoente.

    System.out.println(Math.pow(2, 3)); // Exibe 8.0 (2 * 2 * 2)
  • sqrt(valor): Retorna a raiz quadrada de um número. Ex: Math.sqrt(16) retorna 4.0.
  • cbrt(valor): Retorna a raiz cúbica de um número. Ex: Math.cbrt(27) retorna 3.0.
  • max(a, b): Retorna o maior entre dois números. Ex: Math.max(10, 20) retorna 20.
  • min(a, b): Retorna o menor entre dois números. Ex: Math.min(10, 20) retorna 10.

Arredondamento e Truncamento

A classe Math oferece vários métodos para arredondar ou truncar valores de ponto flutuante.

  • round(valor): Arredonda um número para o inteiro mais próximo. Valores com parte fracionária de .5 ou maior são arredondados para cima.

    System.out.println(Math.round(2.3));  // 2
    System.out.println(Math.round(2.5));  // 3
    System.out.println(Math.round(2.8));  // 3
  • ceil(valor): Retorna o menor inteiro (como double) que é maior ou igual ao valor. Efetivamente, arredonda para cima.

    System.out.println(Math.ceil(2.34)); // 3.0
  • floor(valor): Retorna o maior inteiro (como double) que é menor ou igual ao valor. Efetivamente, arredonda para baixo.

    System.out.println(Math.floor(2.56)); // 2.0
  • rint(valor): Arredonda para o inteiro mais próximo (como double). Se a parte fracionária for exatamente .5, o arredondamento é feito para o número par mais próximo.

    System.out.println(Math.rint(2.5)); // 2.0 (2 é o par mais próximo)
    System.out.println(Math.rint(3.5)); // 4.0 (4 é o par mais próximo)

Funções Trigonométricas

A classe Math inclui funções trigonométricas. É fundamental lembrar que todos os ângulos são medidos em radianos.

  • sin(angulo), cos(angulo), tan(angulo): Funções trigonométricas básicas.
  • asin(valor), acos(valor), atan(valor): Funções trigonométricas inversas.
  • toDegrees(radianos): Converte um ângulo de radianos para graus.
  • toRadians(graus): Converte um ângulo de graus para radianos.

    System.out.println(Math.toDegrees(Math.PI)); // Aprox. 180.0
    System.out.println(Math.toRadians(90));      // Aprox. 1.57079

Funções Exponenciais e Logarítmicas

  • exp(valor): Retorna o número de Euler (e) elevado à potência do valor.
  • log(valor): Retorna o logaritmo natural (base e) de um número.
  • log10(valor): Retorna o logaritmo de base 10 de um número.

Funções Utilitárias

  • random(): Retorna um número pseudoaleatório do tipo double, maior ou igual a 0.0 e menor que 1.0. Para gerar um número inteiro em um intervalo, é comum usar a seguinte fórmula:

    // Gera um número inteiro entre 1 e 100
    int numeroAleatorio = (int)(Math.random() * 100) + 1;
    System.out.println(numeroAleatorio);
  • clamp(valor, min, max): Força um número a permanecer dentro de um intervalo. Se valor for menor que min, retorna min. Se for maior que max, retorna max. Caso contrário, retorna o próprio valor.

    System.out.println(Math.clamp(-1, 0, 5)); // Retorna 0
    System.out.println(Math.clamp(6, 0, 5));  // Retorna 5
    System.out.println(Math.clamp(4, 0, 5));  // Retorna 4
  • signum(valor): Retorna o sinal de um número: 1.0 se for positivo, -1.0 se for negativo, e 0.0 se for zero.

Constantes Matemáticas

A classe Math também define três constantes úteis do tipo double:

  • Math.PI: A razão entre a circunferência de um círculo e seu diâmetro (aprox. 3.14159).
  • Math.E: A base dos logaritmos naturais (aprox. 2.71828).
  • Math.TAU: O dobro de PI, representando a razão entre a circunferência e o raio.

Exemplo Prático: Cálculo da Área de um Círculo

O exemplo a seguir combina o uso de constantes e métodos para calcular a área de um círculo com base em um raio fornecido pelo usuário.

import java.util.Scanner;

public class Program {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        System.out.print("Digite o raio do círculo: ");
        int radius = in.nextInt();

        // Fórmula da área: PI * raio^2
        double area = Math.PI * Math.pow(radius, 2);
        long areaArredondada = Math.round(area);

        System.out.printf("A área do círculo com raio %d é aproximadamente %d \n", radius, areaArredondada);
        in.close(); // Boa prática: fechar o Scanner para liberar recursos
    }
}

Saída no console:

Digite o raio do círculo: 10
A área do círculo com raio 10 é aproximadamente 314

Resumo

  • Classe Math: Fornece métodos estáticos para operações matemáticas em Java e está no pacote java.lang, que é importado por padrão.
  • Métodos Estáticos: Não é necessário criar um objeto; os métodos são chamados diretamente da classe (ex: Math.pow()).
  • Categorias: A classe inclui funções básicas (potência, raiz), de arredondamento (round, ceil, floor), trigonométricas, logarítmicas e outras utilidades.
  • Constantes: Oferece constantes importantes como Math.PI e Math.E para cálculos precisos.
  • Números Aleatórios: Math.random() é a base para gerar números aleatórios em diferentes intervalos.
Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com