Materiais, Manuais e Tutoriais>JAVA>A classe Math do Java

A classe Math do Java

Os métodos da classe Math em JAVA disponibilizam certos cálculos matemáticos comuns.
Para usar os métodos da classe Math não é necessário importar a classe pois ela faz parte da classe Lang que é importada automaticamente na hora da compilação, os métodos da classe Math são static eles são chamados precedendo-se o nome do método com o nome da classe Math e um operador
ponto (. ).

Esta classe é composta apenas por métodos estáticos (com exceção dos métodos herdados de
java.lang.Object), ou seja, métodos de classe, não sendo preciso nunca, instanciar um objeto desta classe.


Constantes:
· Math.E - equivale à constante e, a base dos logaritmos naturais.
· Math.PI - equivale à constante pi (?). (pra quem não lembra, ? é a razão circunferência / diâmetro)


Métodos:
· Math.sin(a) - seno de um ângulo (em radianos).
· Math.cos(a) - cosseno de um ângulo (em radianos).
· Math.tan(a) - tangente de um ângulo (em radianos).
· Math.asin(a) - arco seno de um ângulo*.
· Math.acos(a) - arco cosseno de um ângulo*.
· Math.atan(a) - arco tangente de um ângulo*.
· Math.toRadians(a) - converte um ângulo dado em graus para seu equivalente em radianos.
· Math.toDegrees(a) - converte um ângulo dado em radianos para seu equivalente em graus.
· Math.exp(n) - retorna o número de Euler elevado à nésima potência.
· Math.log(a) - retorna o logaritmo natural de a.
· Math.sqrt(a) - retorna a raiz quadrada de a.
· Math.ceil(a) - retorna o valor double maior e mais próximo de a ("arredonda pra cima").
· Math.floor(a) - retorna o valor double menor e mais próximo de a ("arredonda pra baixo").
· Math.rint(a) - retorna o valor mais próximo de a (arredondamento normal).
· Math.atan2(x, y) - converte as coordenadas retangulares (x, y) em coordenadas polares (r, ?).
· Math.pow(x, y) - retorna o valor x elevado à potência y.
· Math.round(a) - retorna o valor mais próximo de a.
· Math.random() - retorna um valor "aleatório" entre 0 e 1**.
· Math.abs(a) - retorna o valor absoluto de a (|a| )***.
· Math.max(a, b) - retorna o maior valor entre a e b.
· Math.min(a, b) - retorna o menor valor entre a e b.


Math.abs(...);
Descrição: Retorna o valor absoluto (módulo) do numero passado por parâmetro.
Parâmetro: Pode ser um int, um double, um float ou um long
Retorno: Mesmo tipo primitivo do valor de entrada (parâmetro)

Math.acos(...);
Descrição: Retorna ao usuário o arco-cosseno do angulo passado por parâmetro (retorno entre 0 e
PI [metade superior de uma circunferência trigonométrica)
Parâmetro: double
Retorno: double

Math.asin(...);
Descrição: Retorna ao arco-seno do angulo passado para o método (retorno entre -PI/2 [3/4 de
circunferência trigonométrica) e PI/2 (1/4 da circunferência)
Parâmetro: double
Retorno: double

Math.atan(...);
Descrição: Retorna o arco-tangente do angulo que o usuário passou (mesmo "range" (intervalo) do
Math.asin(...)
Parâmetro: double
Retorno: double

Math.ceil(...);
Descrição: Este método retorna o maior numero inteiro (menor que o passado como parâmetro) -
(ATENCAO PARA NÚMEROS NEGATIVOS)
Parâmetro: double
Retorno: double

Math.cos(...);
Descrição: Retorna o coseno do angulo passado
Parâmetro: double
Retorno: double

Math.exp(...);
Descrição: Retorna o valor da Constante de Euller "e" elevada ao numero passado
Parâmetro: double
Retorno: double

Math.floor(...);
Descrição: Retorna o maior numero inteiro (não menor que o passado) - (ATENCAO PARA
NÚMEROS NEGATIVOS)
Parâmetro: double
Retorno: double

Math.log(...);
Descrição: Retorna o logaritmo natural do numero passado.
Parâmetro: double
Retorno: double

Math.max(... , ...);
Descrição: Retorna o maior entre os números passados
Parâmetro: pode ser um par de int, de double, de float ou de long (desde que os 2 parâmetros
sejam do mesmo tipo)
Retorno: depende do tipo de entrada

Math.min(... , ...);
Descrição: Retorna o menor entre os números passados
Parâmetro: pode ser um par de int, de double, de float ou de long (desde que os 2 parâmetros
sejam do mesmo tipo)
Retorno: depende do tipo de entrada

Math.pow(... , ...);
Descrição: Para uma estrutura de potenciação a^b este método retorna o primeiro parâmetro como
'a' e o segundo como 'b'
Parâmetro: double
Retorno: double

Math.random();
Descrição: um numero aleatório que vai de zero até 1 (0 incluído, 1 nunca será gerado)
Parâmetro: nenhum
Retorno: double

Math.round(...);
Descrição: Retorna o long mais próximo do parâmetro passado
Parâmetro: double
Retorno: long

Math.sin(...);
Descrição: Retorna o seno do parâmetro
Parâmetro: double
Retorno: double

Math.tan(...);
Descrição: Retorna a tangente do ângulo
Parâmetro: double
Retorno: double

Math.sqrt(...);
Descrição: Retorna a raiz quadrada do numero passado
Parâmetro: double
Retorno: double

Math.toDregrees(...);
Descrição: Retorna o angula passado (em radianos) em graus
Parâmetro: double
Retorno: double

Math.toRadians(...);
Descrição: Retorna o angula passado (em graus) em radianos
Parâmetro: double
Retorno: double

 


Outros Exemplos

 

Constantes


E
Retorna o valor da Constante de Euler, base dos logaritmos naturais.
Ex.:
System.out.println ("O valor da Constante de Euler é " + Math.E);

LN10
Retorna o valor do logaritmo natural de 10.
Ex.:
System.out.println ("O valor do logaritmo natural de 10 é " + Math.LN10);

LN2
Similiar ao LN10. Retorna, entretanto, o valor do logaritmo natural de 2.
Ex.:
System.out.println ("Math.LN2 = " + Math.LN2);

LOG10E
Retorna o logaritmo de base 10.
Ex.:
System.out.println ("O logaritmo de base 10 é " + Math.LOG10E);

LOG2E
Semelhante ao LOG10E. Retorna o logaritmo de base 2.
Ex.:
System.out.println ("O logaritmo de base 2 é " + Math.LOG2E);

PI
Retorna o valor de pi.
Ex.:
System.out.println ("O valor de pi é " + Math.PI);

SQRT1_2
Retorna a raiz quadrada de 0,5.
Ex.:
System.out.println ("A raiz quadrada de 1/2 é " + Math.SQRT1_2);

SQRT2
Retorna a raiz quadrada de 2.
Ex.:
System.out.println ("A raiz quadrada de 2 é " + Math.SQRT2);


Métodos


abs()
Retorna o valor absoluto de um argumento, desde que esse seja um valor numérico.
Ex.:
int valor = -15;
System.out.println (Math.abs(valor));

acos()
Retorna o arco cosseno de um argumento, em radianos. O valor do argumento deve estar entre -1 e 1.
Caso contrário, o método retornará NaN. O resultado é dado na faixa de -pi/2 a pi/2 radianos.
Ex.: System.out.println ("O arco cosseno de 1 é " + Math.acos(1));

asin()
Idêntico ao método acos(), retornando, porém, o arco seno.
Ex.: System.out.println ("O arco seno de 1 é " + Math.acos(1));

atan()
Retorna o arco tangente de um argumento, em radianos. O resultado é dado na faixa de -pi/2 a pi/2
radianos.
Ex.: System.out.println ("O arco tangente de 1 é " + Math.atan(1));

atan2()
Retorna o arco tangente, em radianos, do quociente de dois números (um dividendo e um divisor). O
resultado é dado na faixa de -pi/2 a pi/2 radianos. Em um sistema de coordenadas retangulares, y deve ser
o primeiro parâmetro. O método expressará o ângulo formado entre a reta que vai da origem (0, 0) até o
ponto (x, y) e a horizontal, no sentido anti-horário.
Ex.: System.out.println ("Math.atan2(5, 7) = " + Math.atan2(5, 7));

ceil()
Retorna o menor inteiro maior ou igual ao valor especificado. Se o valor especificado for 2,56, por exemplo,
o método retornará 3. Se o valor for -2,56, o método retornará 2.
Ex.: System.out.println ("Math.ceil(-2,56) = " + Math.ceil(-2,56));

cos()
Retorna o cosseno de um argumento, em radianos. O resultado será maior ou igual a -1 e menor ou igual a 1.
Ex.: System.out.println ("O cosseno de 13 é " + Math.cos(13));

exp()
Retorna o valor da Constante de Euler (Math.E) elevado à potência especificada pelo valor do argumento.
Ex.: y = Math.exp(x);

floor()
Método inverso do ceil(). Se o valor especificado for 2,56, por exemplo, o método retornará 2. Se o valor for
-2,56, o método retornará 3.
Ex.: System.out.println ("Math.floor(-2,56) = " + Math.floor(-2,56));

log()
Retorna o logaritmo natural (base e) do valor especificado no argumento. Se esse for 0, o método retornará
-Infinity. Se for menor que 0, retornará NaN.
Ex.: System.out.println ("Math.log(3) = " + Math.log(3));

max()
Retorna o maior valor entre dois argumentos.
Ex.: System.out.println ("O maior valor entre 12 e 52 é " + Math.max(12, 52));

min()
Método contrário ao max().
Ex.: System.out.println ("O menor valor entre 12 e 52 é " + Math.min(12, 52));

pow()
Método de exponenciação. Retorna o valor da base elevada ao expoente.
Ex.: System.out.println ("Três ao quadrado é igual a " + Math.pow(3, 2)); // O
método expressará 3 elevado à segunda potência

random()
Gerado a partir da hora atual, retorna um número aleatório entre 0 e 1 e não aceita argumentos.
Ex.: System.out.println ("Valor aleatório entre 0 e 1: " + Math.random());
System.out.println ("Valor aleatório entre 15 e 769 (truque): " + (15 +
(Math.random() * (769 - 15))));

round()
Arredonda o valor especificado no argumento para o número inteiro mais próximo. Se a parte fracionária for
menor que .5, o arredondamento será feito para baixo.
Ex.: System.out.println ("Arredondando 2,56, temos " + Math.round(2,56));

sin()
Retorna o seno do argumento, que deve representar um ângulo em radianos. Matematicamente, o método
retornará um valor maior ou igual a -1 e menor ou igual a 1.
Ex.: System.out.println ("Math.sin(45) = " + Math.sin(45));

sqrt()
Obtém a raiz quadrada do valor especificado no argumento.
Ex.: System.out.println ("A raiz quadrada de 144 é " + Math.sqrt(144));

tan()
Retorna a tangente do valor especificado no argumento.
Ex.: System.out.println ("Math.tan(45) = " + Math.tan(45));

 


 

 

Agora um pequeno exemplo da classe Math com interação do usuário

package sequenciais;
import java.util.Scanner;
/**
 *
 * @author Matheus Orion
 */
public class ExemploMath {
    public static void main(String[] args) {
        Scanner leitorDeNumeros=new Scanner(System.in);
        System.out.println("Digite o numero a ser calculado a raiz");
        double a=leitorDeNumeros.nextDouble();
        double resultado=Math.sqrt(a);
        System.out.println("A raiz de "+a+" é "+resultado);
        System.out.println("Digite o numero a ser elevado");
        a=leitorDeNumeros.nextDouble();
        System.out.println("Digite a potencia");
        double b=leitorDeNumeros.nextDouble();
        resultado=Math.pow(a,b);
        System.out.println(a+" elevado a "+b+" é "+resultado);
        System.out.println("Digite um numero");
        a=leitorDeNumeros.nextDouble();
        System.out.println("Digite um numero");
        b=leitorDeNumeros.nextDouble();
        resultado=Math.max(a, b);
        System.out.println("O maior entre "+a+" e "+b+" é "+resultado);
        System.out.println("Digite um numero");
        a=leitorDeNumeros.nextDouble();
        System.out.println("Digite um numero");
        b=leitorDeNumeros.nextDouble();
        resultado=Math.min(a, b);
        System.out.println("O menor entre "+a+" e "+b+" é "+resultado);
    }
}

 

Baixe a classe



 
 

Compartilhe com seus amigos!



Teste de mesa | Tecnologia | Ciência | Informática