Класс Math
Основные математические функции
«Класс Math» — бесплатный урок Java Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Java Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Java Academy содержит 4 уроков всего.
Класс Math
java.lang.Math — встроенный класс статических математических методов. Он находится в java.lang, поэтому импортировать его не нужно. Методы вызываются у класса: Math.sqrt(2).
Степени и корни
Math.pow(base, exp) возводит число в степень, а Math.sqrt(x) вычисляет квадратный корень. Оба метода возвращают значение типа double.
public class Main {
public static void main(String[] args) {
System.out.println(Math.pow(2, 10));
System.out.println(Math.sqrt(144));
}
}Абсолютное значение
Math.abs возвращает модуль числа, удаляя его знак. Этот метод перегружен для типов int, long, float и double.
public class Main {
public static void main(String[] args) {
System.out.println(Math.abs(-42));
System.out.println(Math.abs(-3.14));
}
}Минимум и максимум
Math.min и Math.max возвращают меньшее или большее из двух значений.
public class Main {
public static void main(String[] args) {
System.out.println(Math.max(10, 25));
System.out.println(Math.min(10, 25));
}
}Константы PI и E
Math предоставляет две известные константы: Math.PI и Math.E. Это поля типа public static final double.
public class Main {
public static void main(String[] args) {
double radius = 3;
double area = Math.PI * radius * radius;
System.out.println("Area: " + area);
}
}Тригонометрия
Тригонометрические функции, такие как Math.sin, Math.cos и Math.tan, работают с радианами, а не с градусами. Для преобразования используйте Math.toRadians.
public class Main {
public static void main(String[] args) {
double degrees = 90;
double radians = Math.toRadians(degrees);
System.out.println(Math.sin(radians));
}
}Логарифмы и экспоненты
Math.log — натуральный логарифм (по основанию e), Math.log10 — логарифм по основанию 10, а Math.exp возводит e в степень.
public class Main {
public static void main(String[] args) {
System.out.println(Math.log10(1000));
System.out.println(Math.exp(1));
}
}Гипотенуза для вычисления расстояния
Math.hypot(x, y) вычисляет квадратный корень из суммы квадратов x и y без переполнения промежуточного результата, поэтому идеально подходит для вычисления расстояний на плоскости.
public class Main {
public static void main(String[] args) {
double dist = Math.hypot(3, 4);
System.out.println(dist);
}
}Средства защиты от переполнения целых чисел
Такие методы, как Math.addExact и Math.multiplyExact, выбрасывают ArithmeticException при переполнении результата вместо незаметного зацикливания значения.
public class Main {
public static void main(String[] args) {
try {
int result = Math.addExact(Integer.MAX_VALUE, 1);
System.out.println(result);
} catch (ArithmeticException e) {
System.out.println("Overflow detected: " + e.getMessage());
}
}
}Возвращаемый тип — double
Большинство методов Math возвращают значение типа double. Если Вам нужен int, необходимо явно выполнить приведение: (int) Math.sqrt(16). Помните, что приведение усекает значение в сторону нуля.
public class Main {
public static void main(String[] args) {
int side = (int) Math.sqrt(16);
System.out.println(side);
}
}Небольшой пример вычисления
Объединяйте несколько методов Math для вычисления результата, например гипотенузы через квадраты и квадратный корень.
public class Main {
public static void main(String[] args) {
double a = 5, b = 12;
double c = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
System.out.println("Hypotenuse: " + c);
}
}Быстрая проверка
Проверьте, насколько хорошо Вы поняли класс Math.
Повторение
Вы познакомились с классом Math.
- Он является статическим и находится в
java.lang, поэтому импортировать его не нужно. pow,sqrt,abs,minиmaxохватывают распространённые операции.- Доступны константы
PIиE. - Тригонометрические функции используют радианы, а большинство методов возвращают значение типа
double.
Часто задаваемые вопросы
Урок «Класс Math» бесплатный?
Да — полный текст урока «Класс Math» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Java Academy, подпишись на CoddyKit PRO. Курс Java Academy содержит 4 уроков всего.
Чему я научусь в уроке «Класс Math»?
Основные математические функции Ты практикуешь Java Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Java Academy?
Предыдущий опыт не требуется. Java Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Класс Math»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Java Academy?
Да. Каждый урок Java Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Класс Math
- Генерация случайных чисел
- Случайные диапазоны и перемешивание
- Округление и ограничения в Math