Класс Math в Java: Полное руководство по abs(), round(), ceil(), floor(), min() и другим — с практическими примерами
Класс Math в Java необходим разработчикам, решающим сложные вычисления — от физических симуляций до географических расчетов. Это руководство охватывает основные методы — abs(), round(), ceil(), floor(), min(), max() — и демонстрирует каждый с практическими примерами кода.
Ключевые константы, доступные в java.lang.Math:
- Math.E — 2.718281828459045 (основание натурального логарифма)
- Math.PI — 3.141592653589793 (отношение длины окружности к диаметру)
| Метод | Описание | Аргументы |
|---|---|---|
| abs | Возвращает абсолютное значение аргумента | double, float, int, long |
| round | Округляет до ближайшего int или long | double или float |
| ceil | Наименьшее целое ≥ значения | double |
| floor | Наибольшее целое ≤ значения | double |
| min | Наименьшее из двух аргументов | double, float, int, long |
| max | Наибольшее из двух аргументов | double, float, int, long |
Ниже приведен краткий фрагмент кода, иллюстрирующий эти методы (явный импорт не нужен; java.lang.Math доступен автоматически):
int i1 = 27; int i2 = -45; double d1 = 84.6; double d2 = 0.45;
// abs()
System.out.println("abs(i1) = " + Math.abs(i1));
System.out.println("abs(i2) = " + Math.abs(i2));
System.out.println("abs(d1) = " + Math.abs(d1));
System.out.println("abs(d2) = " + Math.abs(d2));
// round()
System.out.println("round(d1) = " + Math.round(d1));
System.out.println("round(d2) = " + Math.round(d2));
// ceil() & floor()
System.out.println("ceil(d1) = " + Math.ceil(d1));
System.out.println("floor(d1) = " + Math.floor(d1));
System.out.println("ceil(d2) = " + Math.ceil(d2));
System.out.println("floor(d2) = " + Math.floor(d2));
// min() & max()
System.out.println("min(i1, i2) = " + Math.min(i1, i2));
System.out.println("max(i1, i2) = " + Math.max(i1, i2));
System.out.println("min(d1, d2) = " + Math.min(d1, d2));
System.out.println("max(d1, d2) = " + Math.max(d1, d2));
Пример вывода:
abs(i1) = 27 abs(i2) = 45 abs(d1) = 84.6 abs(d2) = 0.45 round(d1) = 85 round(d2) = 0 ceil(d1) = 85.0 floor(d1) = 84.0 ceil(d2) = 1.0 floor(d2) = 0.0 min(i1, i2) = -45 max(i1, i2) = 27 min(d1, d2) = 0.45 max(d1, d2) = 84.6
Помимо базовой арифметики, java.lang.Math предлагает мощные научные функции:
| Метод | Описание | Аргументы |
|---|---|---|
| exp | e в степени входного значения | double |
| log | Натуральный логарифм | double |
| pow | Основание в степени показателя | double, double |
| sqrt | Квадратный корень | double |
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(d2) = 1.568312185490169 log(d2) = -0.7985076962177716 pow(5, 3) = 125.0 sqrt(16) = 4.0
И тригонометрический набор инструментов:
| Метод | Описание | Аргументы |
|---|---|---|
| sin | Синус (вход в радианах) | double |
| cos | Косинус (радианы) | double |
| tan | Тангенс (радианы) | double |
| atan2 | Арктангенс y/x (возвращает радианы) | double, double |
| toDegrees | Радианы в градусы | double |
| toRadians | Градусы в радианы | double |
double angleDeg = 30.0;
double angleRad = Math.toRadians(angleDeg);
System.out.println("sin(30°) = " + Math.sin(angleRad));
System.out.println("cos(30°) = " + Math.cos(angleRad));
System.out.println("tan(30°) = " + Math.tan(angleRad));
System.out.println("atan2(4, 2) = " + Math.atan2(4, 2));
Вывод:
sin(30°) = 0.49999999999999994 cos(30°) = 0.8660254037844387 tan(30°) = 0.5773502691896257 atan2(4, 2) = 1.1071487177940904
С этими строительными блоками вы можете создавать надежные научные калькуляторы, выполнять инженерные расчеты или обрабатывать географические координаты с уверенностью.
java
- Полиморфизм в C++: практические примеры и ключевые концепции
- Инкапсуляция в Java: подробное руководство с практическим примером
- Метод String.length() в Java: как получить длину строки (пример)
- Понимание String.charAt() в Java: синтаксис, возвращаемый тип, исключения и пример
- Метод String.contains() в Java: как проверить наличие подстроки — примеры
- Освоение String.endsWith() в Java: проверка суффиксов строки с примерами
- Чтение файлов в Java с BufferedReader — Практическое руководство с примерами
- Алгоритм сортировки вставками в Java: понятный пример и пошаговое руководство
- Сортировка выбором в Java: пошаговый пример и полный код
- Функция round() в Python: подробное объяснение с практическими примерами