Math

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

  • Класс находится в пакете java.lang, импорт не нужен.
  • Методы вызываются через имя класса: Math.имяМетода(...).

Модуль, минимум, максимум

Сигнатура Описание
int abs(int x) Модуль целого числа x.
int min(int a, int b) Минимум из двух int.
int max(int a, int b) Максимум из двух int.

Есть также варианты этих методов для других числовых типов (long, float, double), компилятор сам выбирает подходящий вариант под типы аргументов.

Примеры:

int a = -7;
int b = 10;

int m1 = Math.abs(a);          // 7
int min = Math.min(a, b);      // -7
int max = Math.max(a, b);      // 10
int dist = Math.abs(a - b);    // расстояние между a и b

Корни и степени

Сигнатура Описание
double sqrt(double x) Квадратный корень числа \(x\) ( \(x \ge 0\) ).
double pow(double a, double b) a в степени b.

Примеры:

double x = 16.0;
double r = Math.sqrt(x);           // 4.0

double y = Math.pow(2.0, 3.0);     // 8.0

Округление

Сигнатура Описание
long round(double x) Округление до ближайшего целого типа long.
int round(float x) Округление до ближайшего целого типа int.
double floor(double x) Округление вниз (целая часть, не больше x).
double ceil(double x) Округление вверх (целое число, не меньше x).

Примеры:

double v1 = 3.6;
double v2 = 3.4;

long r1 = Math.round(v1);   // 4
long r2 = Math.round(v2);   // 3

double f = Math.floor(3.9); // 3.0
double c = Math.ceil(3.1);  // 4.0

Константы

Имя Тип Описание
Math.PI double Приближённое значение числа \(\pi\) (пи).
Math.E double Основание натурального логарифма \(\mathrm{e}\).

Примеры использования

Расстояние между двумя целыми числами:

int x = in.nextInt();
int y = in.nextInt();

int dist = Math.abs(x - y);

Минимум и максимум:

int a = in.nextInt();
int b = in.nextInt();

int min = Math.min(a, b);
int max = Math.max(a, b);

Длина окружности по радиусу:

double r = in.nextDouble();
double length = 2 * Math.PI * r;

Полный API

Полный список методов и деталей реализации см. в официальной документации Java для класса `java.lang.Math` (Java SE 11).