![Page 1: Programação Prof.: Bruno Rafael de Oliveira Rodrigues](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc100497959413d8bcceb/html5/thumbnails/1.jpg)
ProgramaçãoProgramação
Prof.: Bruno Rafael de Oliveira Rodrigues
![Page 2: Programação Prof.: Bruno Rafael de Oliveira Rodrigues](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc100497959413d8bcceb/html5/thumbnails/2.jpg)
Classe MathClasse Math Java possui constantes pré-definidas e
métodos para executar diferentes operações matemáticas, como, por exemplo, funções trigonométricas e logarítmicas. Como estes métodos são todos static, podemos utilizá-los sem a necessidade de construir um objeto da classe Math.
![Page 3: Programação Prof.: Bruno Rafael de Oliveira Rodrigues](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc100497959413d8bcceb/html5/thumbnails/3.jpg)
Alguns métodosAlguns métodos abs(double a) random() max(double a, double b) min(double a, double b) pow(double a, double b) round(double a) sqrt(double a)
![Page 4: Programação Prof.: Bruno Rafael de Oliveira Rodrigues](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc100497959413d8bcceb/html5/thumbnails/4.jpg)
ExemplosExemplos
![Page 5: Programação Prof.: Bruno Rafael de Oliveira Rodrigues](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc100497959413d8bcceb/html5/thumbnails/5.jpg)
Erros de CálculoErros de Cálculo
![Page 6: Programação Prof.: Bruno Rafael de Oliveira Rodrigues](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc100497959413d8bcceb/html5/thumbnails/6.jpg)
Nem todos os cálculos são precisos quando se tratam de números decimais.
Arredondamentos constantes podem prejudicar o programa, que vai acumulando erros.
![Page 7: Programação Prof.: Bruno Rafael de Oliveira Rodrigues](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc100497959413d8bcceb/html5/thumbnails/7.jpg)
BigInteger e BigDecimalBigInteger e BigDecimal
Números com precisões ilimitadas. O BigDecimal é uma excelente opção para se tratar com cálculos financeiros.
![Page 8: Programação Prof.: Bruno Rafael de Oliveira Rodrigues](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc100497959413d8bcceb/html5/thumbnails/8.jpg)
As operações com o BigDecimalAs operações com o BigDecimal
Use métodos como add, subtract, multiply, pow, etc
Você pode encadear métodos, por exemplo:new BigDecimal("123.4").add(new
BigDecimal("5.6").subtract(new BigDecimal("7.8")))
![Page 9: Programação Prof.: Bruno Rafael de Oliveira Rodrigues](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc100497959413d8bcceb/html5/thumbnails/9.jpg)
Equals considera a escala, para comparação numérica use apenas compareTo
new java.math.BigDecimal("2.0").equals(new java.math.BigDecimal("2.00"))
new java.math.BigDecimal("2.0").compareTo(new java.math.BigDecimal("2.00"))
O método setScale arredonda o valor para a quantidade de decimais desejada.
![Page 10: Programação Prof.: Bruno Rafael de Oliveira Rodrigues](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc100497959413d8bcceb/html5/thumbnails/10.jpg)
ArredondamentosArredondamentos
HALF_EVEN tende a distribuir de modo uniforme perdas e ganhos ao longo de várias operações HALF_UP tem mais ganhos do que perdas, então o banco pagaria mais do que recebeu
![Page 11: Programação Prof.: Bruno Rafael de Oliveira Rodrigues](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc100497959413d8bcceb/html5/thumbnails/11.jpg)
ExemploExemplo
![Page 12: Programação Prof.: Bruno Rafael de Oliveira Rodrigues](https://reader034.vdocuments.pub/reader034/viewer/2022051515/552fc100497959413d8bcceb/html5/thumbnails/12.jpg)
ExercíciosExercícios
1 – Faça um programa que solicite um número ao usuário e ele compara com um número aleatório. (Use o JoptionPane) Obs. O programa deve perguntar ao usuário se ele quer sair sempre depois de uma resposta.
2 – Altere a classe a classe Professor onde calcula o salário bruto e líquido para que possa usar o Bigdecimal ao invés do double.