У Java было несколько продвинутых приложений использования, включая работу со сложными вычислениями в физике, архитектуру / проектирование структур, работу с картами и соответствующими широтами / долготами и т. Д.
В этом уроке вы узнаете:
Все такие приложения требуют использования сложных расчетов / уравнений, которые утомительно выполнять вручную. Программно такие расчеты будут включать использование логарифмов, тригонометрии, показательных уравнений и т. Д.
Теперь вы не можете жестко запрограммировать все таблицы журналов или таблиц тригонометрии в вашем приложении или данных. Данные будут огромными и сложными в обслуживании.
Java предоставляет очень полезный класс для этой цели. Это математический Java-класс (java.lang.Math).
Этот класс предоставляет методы для выполнения операций, таких как экспоненциальное, логарифмическое, корни и тригонометрические уравнения.
Давайте посмотрим на методы, предоставляемые классом Java Math.
Два самых фундаментальных элемента в математике — это «е» (основание натурального логарифма) и «пи» (отношение длины окружности к ее диаметру). Эти две константы часто требуются в приведенных выше расчетах / операциях.
Следовательно, класс Math Java предоставляет эти две константы в виде двойных полей.
Math.E — со значением 2.718281828459045
Math.PI — со значением 3.141592653589793
А) Давайте посмотрим на таблицу ниже, которая показывает нам основные методы и его описание
метод | Описание | аргументы |
абс | Возвращает абсолютное значение аргумента | Double, float, int, long |
круглый | Возвращает закрытое int или long (согласно аргументу) | двойной или плавающий |
перекрывать | Возвращает наименьшее целое число, которое больше или равно аргументу | двойной |
этаж | Возвращает наибольшее целое число, которое меньше или равно аргументу | двойной |
мин | Возвращает наименьший из двух аргументов | Double, float, int, long |
Максимум | Возвращает самый большой из двух аргументов | Double, float, int, long |
Ниже приведен код реализации вышеуказанных методов:
Примечание. Нет необходимости явно импортировать java.lang.Math, поскольку он импортируется неявно. Все его методы статичны.
Целочисленная переменная
int i1 = 27; int i2 = -45;
Двойные (десятичные) переменные
double d1 = 84.6; double d2 = 0.45;
Math.abs
public class Guru99 { public static void main(String args[]) { int i1 = 27; int i2 = -45; double d1 = 84.6; double d2 = 0.45; System.out.println("Absolute value of i1: " + Math.abs(i1)); System.out.println("Absolute value of i2: " + Math.abs(i2)); System.out.println("Absolute value of d1: " + Math.abs(d1)); System.out.println("Absolute value of d2: " + Math.abs(d2)); } }
Вывод:
Absolute value of i1: 27 Absolute value of i2: 45 Absolute value of d1: 84.6 Absolute value of d2: 0.45
Math.round
public class Guru99 { public static void main(String args[]) { double d1 = 84.6; double d2 = 0.45; System.out.println("Round off for d1: " + Math.round(d1)); System.out.println("Round off for d2: " + Math.round(d2)); } }
Вывод:
Round off for d1: 85 Round off for d2: 0
Math.ceil & Math.floor
public class Guru99 { public static void main(String args[]) { double d1 = 84.6; double d2 = 0.45; System.out.println("Ceiling of '" + d1 + "' = " + Math.ceil(d1)); System.out.println("Floor of '" + d1 + "' = " + Math.floor(d1)); System.out.println("Ceiling of '" + d2 + "' = " + Math.ceil(d2)); System.out.println("Floor of '" + d2 + "' = " + Math.floor(d2)); } }
Вывод:
Ceiling of '84.6' = 85.0 Floor of '84.6' = 84.0 Ceiling of '0.45' = 1.0 Floor of '0.45' = 0.0
Math.min
public class Guru99 { public static void main(String args[]) { int i1 = 27; int i2 = -45; double d1 = 84.6; double d2 = 0.45; System.out.println("Minimum out of '" + i1 + "' and '" + i2 + "' = " + Math.min(i1, i2)); System.out.println("Maximum out of '" + i1 + "' and '" + i2 + "' = " + Math.max(i1, i2)); System.out.println("Minimum out of '" + d1 + "' and '" + d2 + "' = " + Math.min(d1, d2)); System.out.println("Maximum out of '" + d1 + "' and '" + d2 + "' = " + Math.max(d1, d2)); } }
Вывод:
Minimum out of '27' and '-45' = -45 Maximum out of '27' and '-45' = 27 Minimum out of '84.6' and '0.45' = 0.45 Maximum out of '84.6' and '0.45' = 84.6
Б) Давайте посмотрим на таблицу ниже, которая показывает нам экспоненциальный и логарифмический методы и их описание.
метод | Описание | аргументы |
ехр | Возвращает основание натурального log (e) в силу аргумента | двойной |
Журнал | Возвращает натуральный логарифм аргумента | двойной |
бух | Принимает 2 аргумента в качестве входных данных и возвращает значение первого аргумента, возведенное в степень второго аргумента | двойной |
этаж | Возвращает наибольшее целое число, которое меньше или равно аргументу | двойной |
Sqrt | Возвращает квадратный корень аргумента | двойной |
Ниже приведена реализация кода вышеуказанных методов: (используются те же переменные, что и выше)
public class Guru99 { public static void main(String args[]) { double d1 = 84.6; double d2 = 0.45; System.out.println("exp(" + d2 + ") = " + Math.exp(d2)); System.out.println("log(" + d2 + ") = " + Math.log(d2)); System.out.println("pow(5, 3) = " + Math.pow(5.0, 3.0)); System.out.println("sqrt(16) = " + Math.sqrt(16)); } }
Вывод:
exp(0.45) = 1.568312185490169 log(0.45) = -0.7985076962177716 pow(5, 3) = 125.0 sqrt(16) = 4.0
C) Давайте посмотрим на таблицу ниже, которая показывает нам тригонометрические методы и их описание
метод | Описание | аргументы |
грешить | Возвращает синус указанного аргумента | двойной |
Cos | Возвращает косинус указанного аргумента | двойной |
загар | Возвращает тангенс указанного аргумента | двойной |
aTAN2 | Преобразует прямоугольные координаты (x, y) в полярные (r, theta) и возвращает theta | двойной |
toDegrees | Преобразует аргументы в градусы | двойной |
Sqrt | Возвращает квадратный корень аргумента | двойной |
toRadians | Преобразует аргументы в радианы | двойной |
Аргументы по умолчанию в радианах
Ниже приведена реализация кода:
public class Guru99 { public static void main(String args[]) { double angle_30 = 30.0; double radian_30 = Math.toRadians(angle_30); System.out.println("sin(30) = " + Math.sin(radian_30)); System.out.println("cos(30) = " + Math.cos(radian_30)); System.out.println("tan(30) = " + Math.tan(radian_30)); System.out.println("Theta = " + Math.atan2(4, 2)); } }
Вывод:
sin(30) = 0.49999999999999994 cos(30) = 0.8660254037844387 tan(30) = 0.5773502691896257 Theta = 1.1071487177940904
Теперь, с учетом вышесказанного, вы также можете создать свой собственный научный калькулятор в Java.