java.lang.Math – типичный utility-класс с только статическими членами и закрытым конструктором. Он предоставляет набор математических функций. Условно члены класса можно разделить на следующие категории:Основные математические функции | |
|---|---|
| exp | Экспонента – число Эйлера (e) в степени х |
| log | Натуральный логарифм |
| log10 | Десятичный логарифм |
| sqrt | Квадратный корень |
| cbrt | Кубический корень |
| pow | Cтепень |
| abs | Mодуль |
| max | Максимум из двух чисел |
| min | Минимум из двух чисел |
| signum | Сигнум |
| random | Псевдослучайное число в интервале [0;1) |
Тригонометрия | |
|---|---|
| sin | Синус |
| cos | Косинус |
| tan | Тангенс |
| asin | Арксинус |
| acos | Арккосинус |
| atan | Арктангенс |
| sinh | Гиперболический синус |
| cosh | Гиперболический косинус |
| tanh | Гиперболический тангенс |
| atan2 | Зенитный угол по прямоугольным координатам |
Integer.MAX_VALUE увеличить на 1, получится Integer.MIN_VALUE. При переполнении максимально возможного значения, оно «идет по кругу». История помнит, как дорого может стоить эта ошибка. Набор специальных функций помогает работать с переполнениями безопаснее.Защита от переполнения | |
|---|---|
| addExact | Сложение с выбросом исключения при переполнении |
| subtractExact | Вычитание с выбросом исключения при переполнении |
| multiplyExact | Умножение с выбросом исключения при переполнении |
| incrementExact | Инкремент (x++) с выбросом исключения при переполнении |
| decrementExact | Декремент (x--) с выбросом исключения при переполнении |
| negateExact | Смена знака (-x) с выбросом исключения при переполнении |
| toIntExact | Сужение типа long→int с выбросом исключения при переполнении |
| multiplyFull | Произведение с расширением типа int→long |
| multiplyHigh | Старшие биты произведения при переполнении |
sqrt(x^2 + y^2). Комбинации математических операций | |
|---|---|
| floorDiv | floor(x/y) |
| floorMod | floor(x%y) |
| fma | a*b+c |
| hypot | Среднее квадратическое: sqrt(x^2+y^2) |
| expm1 | e^x - 1 |
| log1p | ln(1 + x) |
| copySign | x*signum(y) |
| scalb | x*2^y |
Math по работе с дробными числами.IEEE754 | |
|---|---|
| IEEEremainder | Остаток от деления по IEEE754 |
| ulp | Расстояние до следующего числа с плавающей точкой |
| getExponent | Экспонента числа с плавающей точкой |
| nextAfter | Следующее за x число с плавающей точкой в сторону y |
| nextUp | Следующее число с плавающей точкой |
| nextDown | Предыдущее число с плавающей точкой |
Округление | |
|---|---|
| ceil | Округление вверх |
| floor | Округление вниз |
| rint | Отбрасывание нецелой погрешности числа с плавающей точкой |
| round | Округление к ближайшему целому |
Конвертация углов | |
|---|---|
| toRadians | Градусы в радианы |
| toDegrees | Радианы в градусы |
Константы | |
|---|---|
| E | Число Эйлера (e) |
| PI | Число Пи |