Você está na página 1de 8

Anlise e Desenvolvimento de Sistemas ADS

Linguagem de Programao LP

A Classe MATH em Java


Prof. Cristvo Cunha

Assunto: pacote java.lang.Math


Esta apostila visa explicar e exemplificar as constantes e os mtodos que
esto no pacote java.lang.Math (Classe Math do Java), ajudando a aprender e
entender como funcionam e como utilizar.

A Classe Java Math

A classe java Math fornece mais clculos matemticos avanados, do que o que os operadores
matemticos bsicos Java fornecem. A classe Math contm mtodos para encontrar o mximo ou
mnimo de dois valores, arredondar valores, funes logartmicas, raiz quadrada e funes
trigonomtricas (sin, cos, tan, etc).

A classe Math est localizado no pacote java.lang, e no no pacote java.Math. Assim, o


nome de classe totalmente qualificado da classe Math java.lang.Math.

Uma vez que muitas das funes da classe Math so independentes uma da outra, tentaremos
explicar o maior nmero de mtodos, exemplificando sua utilizao.

Funes bsicas de matemtica

O java.lang.Math contm um conjunto de funes matemticas bsicas para obter o valor


absoluto, maior e menor de dois valores, o arredondamento dos valores, valores aleatrios, etc.
Estas funes matemticas bsicas da classe Java Math sero abordadas a seguir.

Math.abs ()

O Math.abs() devolve o valor absoluto do parmetro passado para ele. O valor absoluto o
valor positivo do parmetro. Se o valor do parmetro negativo, o sinal negativo removido e o
valor positivo que corresponde ao valor negativo sem sinal devolvido. Aqui esto dois exemplos
de mtodos Math.abs():

int abs1 = Math.abs (10); // abs1 = 10

Faculdade de Tecnologia de Guaratinguet Prof. Joo Mod


www.fatecguaratingueta.edu.br - e-mail: fatecgt@fatecguaratingueta.edu.br
Av. Prof. Joo Rodrigues Alckmin, 1501 Jardim Esperana, Guaratinguet SP / CEP 12517-475
Tel. (12) 3126-3921 - 3125-7785 - 3126-4849
int abs2 = Math.abs (-20); // abs2 = 20

O valor absoluto de 10 10 e o valor absoluto de -20 a 20.

O mtodo Math.abs() sobrecarregado em 4 verses:

Math.abs (int)
Math.abs (long)
Math.abs (float)
Math.abs (double)

O retorno destes mtodos depende do tipo do parmetro transmitido para o ele, ou seja, se a
entrada for um int o retorno ser um int, se a entrada for um long, o retorno ser um long e assim
por diante.

Referncia: MathAbs.java

Math.ceil ()

O mtodo Math.ceil()arredonda um valor de ponto flutuante at o valor inteiro mais prximo.

O retorno do valor arredondado um double. Exemplo:

double ceil = Math.ceil (7.343); // ceil = 8.0

Depois de executar este cdigo Java a varivel ceil ir conter o valor 8.0.

Referncia: MathCeil.java

Math.floor ()

O mtodo Math.floor()arredonda um valor ponto flutuante para o maior valor inteiro mais
prximo que no seja maior que o nmero. O valor arredondado retornado como um double.
Exemplo:

double floor = Math.floor (7.343); // floor = 7.0

Depois de executar este cdigo Java a varivel floor ir conter o valor 7.0.

Referncia: MathFloor.java

Math.min ()

O mtodo Math.min()retorna o menor dos dois valores que so passados como parmetros.
Exemplo:

int min = Math.min (10, 20);

Faculdade de Tecnologia de Guaratinguet Prof. Joo Mod


www.fatecguaratingueta.edu.br - e-mail: fatecgt@fatecguaratingueta.edu.br
Av. Prof. Joo Rodrigues Alckmin, 1501 Jardim Esperana, Guaratinguet SP / CEP 12517-475
Tel. (12) 3126-3921 - 3125-7785 - 3126-4849
Depois de executar este cdigo a varivel min ir conter o valor 10.

Assim com o mtodo Math.abs(), o mtodo Math.min() sobrecarregado em 4 verses:

Math.min (int, int)


Math.min (long, long)
Math.min (float, float)
Math.min (double, double)

O retorno destes mtodos depende do tipo do parmetro transmitido para o ele. Caso sejam de
tipos diferentes, prevalece o maior dos tipos.

Referncia: MathMin.java

Math.max ()

O mtodo Math.max()retorna o maior dos dois valores que so passados como parmetros.
Exemplo:

int max = Math.max (10, 20);

Depois de executar este cdigo a varivel min ir conter o valor 20.

Assim com os mtodos Math.abs() e Math.min(), o mtodo Math.max() sobrecarregado


em 4 verses:

Math.max (int, int)


Math.max (long, long)
Math.max (float, float)
Math.max (double, double)

O retorno destes mtodos depende do tipo do parmetro transmitido para o ele. Caso sejam de
tipos diferentes, prevalece o maior dos tipos.

Referncia: MathMax.java

Math.round ()

O mtodo Math.round() arredonda um float ou double para o nmero inteiro mais prximo
usando as regras normais de arredondamento da matemtica (para cima ou para baixo). Exemplo:

int roundedDown = Math.round (23.445F);


long roundedUp = Math.round (23.545D);

Depois de executar essas duas declaraes do Java, a varivel roundedDown ir conter o valor
23, e a varivel roundedUp ir conter o valor 24L.

Faculdade de Tecnologia de Guaratinguet Prof. Joo Mod


www.fatecguaratingueta.edu.br - e-mail: fatecgt@fatecguaratingueta.edu.br
Av. Prof. Joo Rodrigues Alckmin, 1501 Jardim Esperana, Guaratinguet SP / CEP 12517-475
Tel. (12) 3126-3921 - 3125-7785 - 3126-4849
O mtodo Math.round() sobrecarregado em 2 verses:

Math.round (float)
Math.round (double)

O retorno destes mtodos depende do tipo do parmetro transmitido para o ele. Caso seja
passado um float o retorno um int e caso seja passado um double o retorno ser um long.

Referncia: MathRound.java

Math.random ()

O mtodo Math.random() retorna um nmero aleatrio de ponto flutuante entre 0 (incluso) e 1


(excluso). claro que o nmero no totalmente aleatria, mas o resultado de algum clculo que
suposto para torn-lo to imprevisvel quanto possvel. Exemplo:

double random = Math.random ();

Para obter um valor aleatrio entre 0 (incluso) e 100 (excluso), por exemplo, multiplicar o valor
retornado por Math.random() com o nmero mximo (por exemplo, 100). Exemplo:

double random = Math.random () * 100D;

Se voc precisar de um valor inteiro, pode utilizar os mtodos da prpria classe Math, como o
round() , o floor() ou o ceil(), ou ainda, se utilizar do Cast para o tipo desejado.

int random = (int) (Math.random () * 100);

Referncia: MathRandom.java

Funes Matemticas exponenciais e logartmicas

A classe Java Math, tambm, contm um conjunto de funes para clculos exponenciais e
logartmicos. Algumas dessas funes so descritas a seguir.

Math.exp ()

O mtodo Math.exp()retorna e (nmero de Euler) elevado potncia do valor fornecido como


parmetro. Exemplo:

double exp1 = Math.exp (1);


System.out.println ("exp1 = " + exp1);

double exp2 = Math.exp (2);


System.out.println ("exp2 = " + exp2);

Faculdade de Tecnologia de Guaratinguet Prof. Joo Mod


www.fatecguaratingueta.edu.br - e-mail: fatecgt@fatecguaratingueta.edu.br
Av. Prof. Joo Rodrigues Alckmin, 1501 Jardim Esperana, Guaratinguet SP / CEP 12517-475
Tel. (12) 3126-3921 - 3125-7785 - 3126-4849
Quando este cdigo Java de matemtica executado ele ir imprimir esta sada:

exp1 = 2.718281828459045
exp2 = 7.38905609893065

Referncia: MathExp.java

Math.log ()

O mtodo Math.log() fornece o logaritmo do parmetro determinado. A base para o logaritmo


e (nmero de Euler). Assim, Math.log() fornece a funo inversa da Math.exp(). Exemplo:

double log1 = Math.log (1);


System.out.println ("log1 = " + log1);

double log10 = Math.log (10);


System.out.println ("log10 = " + log10);

A sada :
log1 = 0.0
log10 = 2.302585092994046

Referncia: MathLog.java

Math.pow ()

O mtodo Math.pow() tem dois parmetros. O mtodo retorna o valor do primeiro parmetro
elevado potncia do segundo parmetro. Exemplo:

double pow1 = Math.pow (2,2);


System.out.println ( "pow1 = " + pow1);

double pow2 = Math.pow (2,8);


System.out.println ( "pow2 = " + pow2);

A sada :
pow1 = 4.0
pow2 = 256.0

Em outras palavras, o exemplo Math.pow(), calcula os valores de 22 e 28, que so 4 e 256.

Referncia: MathPow.java

Math.sqrt ()

O mtodo Math.sqrt() calcula a raiz quadrada do parmetro que lhe dado. Exemplo:

Faculdade de Tecnologia de Guaratinguet Prof. Joo Mod


www.fatecguaratingueta.edu.br - e-mail: fatecgt@fatecguaratingueta.edu.br
Av. Prof. Joo Rodrigues Alckmin, 1501 Jardim Esperana, Guaratinguet SP / CEP 12517-475
Tel. (12) 3126-3921 - 3125-7785 - 3126-4849
double sqrt1 = Math.sqrt (4);
System.out.println ( "sqrt1 = " + sqrt1);

double sqrt2 = Math.sqrt (9);


System.out.println ( "sqrt2 = " + sqrt2);

A sada :
sqrt1 = 2.0
sqrt2 = 3.0

Referncia: MathSqrt.java

Funes trigonomtricas matemtica

A classe Java Math contm um conjunto de funes trigonomtricas. Essas funes podem
calcular os valores utilizados na trigonometria, como seno, cosseno, tangente etc. Sero
apresentadas as funes de trigonometria mais utilizadas a seguir.

Math.PI

A constante Math.PI um valor do tipo double, que muito prximo do valor de PI (da definio
matemtica do PI). Muitas vezes voc vai precisar do Math.PI ao fazer clculos trigonomtricos.
Exemplo:

System.out.println ( "PI = " + Math.PI );

Referncia: MathPI.java

Math.sin ()

O mtodo Math.sin() calcula o valor do seno de algum valor do ngulo em radianos. Exemplo:

double sin = Math.sin (Math.PI);


System.out.println ( "sin = " + sin );

Referncia: MathSin.java

Math.cos ()

O mtodo Math.cos() calcula o valor do cosseno de algum valor do ngulo em radianos.


Exemplo:

double cos = Math.cos (Math.PI);


System.out.println ( "cos = " + cos );

Faculdade de Tecnologia de Guaratinguet Prof. Joo Mod


www.fatecguaratingueta.edu.br - e-mail: fatecgt@fatecguaratingueta.edu.br
Av. Prof. Joo Rodrigues Alckmin, 1501 Jardim Esperana, Guaratinguet SP / CEP 12517-475
Tel. (12) 3126-3921 - 3125-7785 - 3126-4849
Referncia: MathCos.java

Math.tan ()

O mtodo Math.tan() calcula o valor tangente de algum valor do ngulo em radianos. Exemplo:

double tan = Math.tan (Math.PI);


System.out.println ( "tan = " + tan );

Referncia: MathTan.java

Math.asin ()

O mtodo Math.asin() calcula o valor do arco seno de um valor entre 1 e -1. Exemplo:

double asin = Math.asin (1.0);


System.out.println ( "asin = " + asin );

Referncia: MathAsin.java

Math.acos ()

O mtodo Math.acos() calcula o valor do arco cosseno de valor entre 1 e -1. Exemplo:

double acos = Math.acos (1.0);


System.out.println ( "acos =" + acos );

Referncia: MathAcos.java

Math.atan ()

O mtodo Math.atan() calcula o arco tangente valor de um valor entre 1 e -1. Exemplo:

double atan = Math.atan (1.0);


System.out.println ( "atan = " + atan );

Referncia: MathAtan.java

Math.sinh ()

O mtodo Math.sinh() calcula o valor do seno hiperblico de um valor entre 1 e -1. Exemplo:

double sinh = math.sinh (1.0);


System.out.println ( "sinh = " + sinh );

Faculdade de Tecnologia de Guaratinguet Prof. Joo Mod


www.fatecguaratingueta.edu.br - e-mail: fatecgt@fatecguaratingueta.edu.br
Av. Prof. Joo Rodrigues Alckmin, 1501 Jardim Esperana, Guaratinguet SP / CEP 12517-475
Tel. (12) 3126-3921 - 3125-7785 - 3126-4849
Referncia: MathSinh.java

Math.cosh ()

O mtodo Math.cosh() calcula o valor do cosseno hiperblico de um valor entre 1 e -1.


Exemplo:

double cosh = Math.cosh (1.0);


System.out.println ( "cosh = " + cosh );

Referncia: MathCosh.java

Math.tanh ()

O mtodo Math.tanh() calcula o valor da tangente hiperblica de um valor entre 1 e -1.


Exemplo:

double tanh = Math.tanh (1,0);


System.out.println ( "tanh = " + tanh );

Referncia: MathTanh.java

Math.toDegrees ()

O mtodo Math.toDegrees() converte um ngulo em radianos para graus. Exemplo:

double graus = Math.toDegrees (Math.PI);


System.out.println ( "graus = " + graus );

Referncia: MathToDegrees.java

Math.toRadians ()

O mtodo Math.toRadians() converte um ngulo em graus para radianos. Exemplo:

double radianos = Math.toRadians (180);


System.out.println ( "radianos = " + radianos );

Referncia: MathToRadians.java

Faculdade de Tecnologia de Guaratinguet Prof. Joo Mod


www.fatecguaratingueta.edu.br - e-mail: fatecgt@fatecguaratingueta.edu.br
Av. Prof. Joo Rodrigues Alckmin, 1501 Jardim Esperana, Guaratinguet SP / CEP 12517-475
Tel. (12) 3126-3921 - 3125-7785 - 3126-4849

Você também pode gostar