Рубрики
Без рубрики

Путеводитель по классу математики Java

Узнайте о классе Math, который предоставляет полезные статические методы для выполнения числовых операций.

Автор оригинала: baeldung.

Путеводитель по классу математики Java

1. Введение

В этом учебнике мы опишем Математика класс, который предоставляет полезные статические методы для выполнения числовых операций, таких как экспоненциальный, logarithm и т.д.

2. Основные математические функции

Первый набор методов, которые мы покроем, это основные математические функции, такие как абсолютное значение, квадратный корень, максимум или минимум между двумя значениями.

2.1. абс()

абс () метод возвращает абсолютное значение данного значения:

Math.abs(-5); // returns 5

Аналогичным образом, других, что мы увидим дальше, абс () принимает в качестве параметра int, длинный, поплавок или двойной и возвращает родственника.

2.2. пау ()

Вычисляет и возвращает значение первого аргумента, поднятого к силе второго:

Math.pow(5,2); // returns 25

Мы обсуждаем этот метод более подробно здесь .

2.3. кв.м()

Возвращает округлый положительный квадратный корень двойной :

Math.sqrt(25); // returns 5

Если аргумент Нан или меньше нуля, результат Нан .

2.4. cbrt()

Аналогичным образом, cbrt() возвращает кубический корень двойной :

Math.cbrt(125); // returns 5

2.5.max()

Как следует из названия метода, он возвращает максимум между двумя значениями:

Math.max(5,10); // returns 10

И здесь метод принимает int, длинный, поплавок или двойной .

2.6. мин.)

Таким же образом, мин() возвращает минимум между двумя значениями:

Math.min(5,10); // returns 5

2.7. случайно ()

Возвращает псевдорандомно двойной больше или равна 0,0 и менее 1,0:

double random = Math.random()

Чтобы сделать это, метод создает единый экземпляр java.util.Random () генератор чисел, когда он вызывается в первый раз.

После этого для всех вызовов к этому методу используется один и тот же экземпляр. Обратите внимание, что метод синхронизирован, таким образом, может быть использован более чем одним потоком.

Мы можем найти больше примеров того, как создать случайный в этой статье .

2.8. сигнум ()

Полезно, когда мы должны знать знак значения:

Math.signum(-5) // returns -1

Этот метод возвращает 1.0, если аргумент больше нуля или -1.0 в противном случае. Если аргумент нулевой положительный или нулевой отрицательный, результат такой же, как аргумент.

Вход может быть поплавок или двойной.

2.9. copySign()

Принимает два параметра и возвращает первый аргумент со знаком второго аргумента:

Math.copySign(5,-1); // returns -5

Аргументы также могут быть поплавок или двойной.

3. Экспоненциальные и логаритмические функции

В дополнение к основным математическим функциям, Математика класс содержит методы решения экспоненциальных и логаритмических функций.

3.1. exp()

exp() метод получает двойной аргумент и возвращает номер Euler поднятый к силе аргумента ( e x ):

Math.exp(1); // returns 2.718281828459045

3.2. expm1()

Подобно вышеупомянутому методу, expm1() вычисляет число Euler поднятое к силе полученного аргумента, но оно добавляет -1 ( e x -1):

Math.expm1(1); // returns 1.718281828459045

3.3.log()

Возвращает естественный логаритм двойной ценность:

Math.log(Math.E); // returns 1

3.4. журнал10()

Он возвращает logarithm в базе 10 аргумента:

Math.log10(10); // returns 1

3.5. log1p()

Точно так же журнал (), но он добавляет 1 к аргументу ln(1 и x):

Math.log1p(Math.E); // returns 1.3132616875182228

4. Тригонометрические функции

Когда мы должны работать с геометрическими формулами, нам всегда нужны тригонометрические функции; тем Математике класс предоставляет их для нас.

4.1. Грех ()

Получает один, двойной аргумент, который представляет угол (в радианцев) и возвращает тригонометрический синус:

Math.sin(Math.PI/2); // returns 1

4.2. cos()

Таким же образом, cos() возвращает тригонометрический косин угла (в радианцев):

Math.cos(0); // returns 1

4.3. загар()

Возвращает тригонометрическую касательной угла (в радианс):

Math.tan(Math.PI/4); // returns 1

4.4. синх (), кош (), танх ()

Они возвращаются соответственно гиперболический синус, гиперболический косин и гиперболические касательные двойной ценность:

Math.sinh(Math.PI);

Math.cosh(Math.PI);

Math.tanh(Math.PI);

4.5. Асин ()

Возвращает дуги синус аргумента получил:

Math.asin(1); // returns pi/2

Результатом является угол в диапазоне – пи /2 пи /2.

4.6. acos()

Возвращает дуги cosine аргумента получил:

Math.acos(0); // returns pi/2

Результатом является угол в диапазоне от 0 до пи .

4.7. Атан ()

Возвращает дугу касательно полученного аргумента:

Math.atan(1); // returns pi/4

Результатом является угол в диапазоне – пи /2 пи /2.

4.8. атан2()

Наконец, atan2() получает порядковый координатный у и абскасса координирует x, и возвращает угол θ от преобразования прямоугольных координат (x,y) полярным координатам (р, θ) :

Math.atan2(1,1); // returns pi/4

4.9. кDegrees()

Этот метод полезен, когда нам нужно преобразовать радианы в степени:

Math.toDegrees(Math.PI); // returns 180

4.10. ДоРадианс()

С другой стороны, toRadians () полезно сделать противоположное преобразование:

Math.toRadians(180); // returns pi

Помните, что большинство методов, которые мы видели в этом разделе принять аргумент в радианцев, таким образом, когда у нас есть угол в градусах, этот метод должен быть использован перед использованием тригонометрического метода.

Для получения дополнительных примеров, посмотрите здесь.

5. Округние и другие функции

Наконец, давайте посмотрим на методы округливания.

5.1. ceil()

ceil () полезно, когда мы должны округлять integer к самому маленькому двойной значение, которое больше или равно аргументу:

Math.ceil(Math.PI); // returns 4

В этой статье мы используем этот метод, чтобы округить число до ближайшей сотни.

5.2. этаж ()

Округить номер до самой большой двойной это меньше или равно аргументу, который мы должны использовать этаж () :

Math.floor(Math.PI); // returns 3

5.3. getExponent()

Возвращает непредвзятый показатель аргумента.

Аргумент может быть двойной или поплавок :

Math.getExponent(333.3); // returns 8

Math.getExponent(222.2f); // returns 7

5.4. IEEEreminder()

Вычисляет разделение между первым (дивидендным) и вторым (дивизорным) аргументом и возвращает оставшуюся часть, как это предписано Стандартный стандарт IEEE 754 :

Math.IEEEremainder(5,2); // returns 1

5.5. Следующийпосесяк()

Этот метод полезен, когда нам нужно знать соседа двойной или поплавок ценность:

Math.nextAfter(1.95f,1); // returns 1.9499999

Math.nextAfter(1.95f,2); // returns 1.9500002

Он принимает два аргумента, первый – это значение, которое вы хотите знать смежным числом, а второй – направлением.

5.6. NextUp()

Аналогичным образом предыдущий метод, но этот возвращает соседнее значение только в направлении положительной бесконечности:

Math.nextUp(1.95f); // returns 1.9500002

5.7. ринт()

Возвращает двойной это ближайшая ценная стоимость аргумента:

Math.rint(1.95f); // returns 2.0

5.8. раунд ()

Поровну к вышеупомянутому методу, но этот возвращает int значение, если аргумент является поплавок и долго значение, если аргумент является двойной:

int result = Math.round(1.95f); // returns 2

long result2 = Math.round(1.95) // returns 2

5.9. чешуйчатый()

Scalb — это аббревиатура для «масштабного двоичного файла». Эта функция выполняет одну смену, одно преобразование и двойное умножение:

Math.scalb(3, 4); // returns 3*2^4

5.10. ulp()

ulp () метод возвращает расстояние от числа до ближайших соседей:

Math.ulp(1); // returns 1.1920929E-7
Math.ulp(2); // returns 2.3841858E-7
Math.ulp(4); // returns 4.7683716E-7
Math.ulp(8); // returns 9.536743E-7

5.11. гипотет ()

Возвращает квадратный корень суммы квадратов своего аргумента:

Math.hypot(4, 3); // returns 5

Метод вычисляет квадратный корень без промежуточного переполнения или подпотока.

В этой статье мы используем этот метод для расчета расстояния между двумя точками.

6. Java 8 Математические функции

тем Математике класс был пересмотрен в Java 8, чтобы включить новые методы для выполнения наиболее распространенных арифметических операций.

Мы обсудили эти методы в другой статье.

7. Констанцы Поля

В дополнение к методам, Математика класс объявляет два постоянных поля:

public static final double E

public static final double PI

Которые указывают на более близкое значение к основанию естественных логаритмов и более близкое значение к пи соответственно.

8. Заключение

В этой статье мы описали API, которые Java предоставляет для математических операций.

Как обычно, все фрагменты кода, представленные здесь, доступны более чем на GitHub.