Математичні обчислення та клас Math

Прокрутити вниз


У Java для виконання математичних обчислень існує вбудований клас `Math`, який надає широкий набір статичних методів для різних математичних операцій, таких як арифметика, тригонометрія, логарифми, експоненти, округлення та інші. Клас `Math` є частиною стандартної бібліотеки Java і не потребує імпорту, оскільки належить до пакету `java.lang`.

Основні математичні операції та методи класу `Math`

1. Арифметичні операції

Клас `Math` надає основні арифметичні операції, які можуть бути корисні для розширених обчислень.

  • `Math.abs(x)` — повертає абсолютне значення числа `x`. Підтримуються типи `int`, `long`, `float`, `double`.
    Приклад:
    int absValue = Math.abs(-10); // результат: 10
  • `Math.max(a, b)` — повертає більше із двох чисел.
    Приклад:
    int maxValue = Math.max(5, 10); // результат: 10
  • `Math.min(a, b)` — повертає менше із двох чисел.
    Приклад:
    int minValue = Math.min(5, 10); // результат: 5
  • `Math.pow(a, b)` — підносить число `a` до степеня `b` (a^b).
    Приклад:
    double result = Math.pow(2, 3); // результат: 8.0
  • `Math.sqrt(x)` — повертає квадратний корінь числа `x`.
    Приклад:
    double sqrtValue = Math.sqrt(16); // результат: 4.0

2. Тригонометричні операції

Для роботи з тригонометрією в класі `Math` є методи для обчислення синусів, косинусів, тангенсів, а також для перетворення кутів між градусами та радіанами.

  • `Math.sin(x)` — синус кута, де `x` — кут у радіанах.
    Приклад:
    double sinValue = Math.sin(Math.PI / 2); // результат: 1.0
  • `Math.cos(x)` — косинус кута, де `x` — кут у радіанах.
    Приклад:
    double cosValue = Math.cos(Math.PI); // результат: -1.0
  • `Math.tan(x)` — тангенс кута, де `x` — кут у радіанах.
    Приклад:
    double tanValue = Math.tan(Math.PI / 4); // результат: 1.0
  • `Math.toRadians(degrees)` — перетворює градуси в радіани.
    Приклад:
    double radians = Math.toRadians(90); // результат: 1.5707963267948966
  • `Math.toDegrees(radians)` — перетворює радіани в градуси.
    Приклад:
    double degrees = Math.toDegrees(Math.PI / 2); // результат: 90.0

3. Логарифми та експоненціальні функції

  • `Math.log(x)` — повертає натуральний логарифм числа `x` (log_e x).
    Приклад:
    double logValue = Math.log(10); // результат: 2.302585092994046
  • `Math.log10(x)` — повертає десятковий логарифм числа `x` (log_10 x).
    Приклад:
    double log10Value = Math.log10(100); // результат: 2.0
  • `Math.exp(x)` — повертає значення e^x (експонента).
    Приклад:
    double expValue = Math.exp(1); // результат: 2.718281828459045

4. Округлення

Клас `Math` також надає методи для округлення чисел.

  • `Math.round(x)` — округлює число `x` до найближчого цілого числа.
    Приклад:
    long roundedValue = Math.round(2.5); // результат: 3
  • `Math.floor(x)` — округлює число `x` до найближчого меншого цілого числа.
    Приклад:
    double floorValue = Math.floor(2.9); // результат: 2.0
  • `Math.ceil(x)` — округлює число `x` до найближчого більшого цілого числа.
    Приклад:
    double ceilValue = Math.ceil(2.1); // результат: 3.0

5. Випадкові числа

Для генерації випадкових чисел у класі `Math` є метод `random`.

  • `Math.random()` — повертає випадкове число типу `double` у діапазоні від 0.0 до 1.0 (не включаючи 1.0).
    Приклад:
    double randomValue = Math.random(); // результат: випадкове число між 0.0 і 1.0

Якщо потрібно згенерувати випадкове число в іншому діапазоні, наприклад від 0 до 100, можна скористатися такою формулою:
int randomInt = (int) (Math.random() * 100); // результат: випадкове число між 0 і 99

6. Інші корисні методи

  • `Math.cbrt(x)` — повертає кубічний корінь числа `x`.
    Приклад:
    double cbrtValue = Math.cbrt(27); // результат: 3.0
  • `Math.hypot(x, y)` — повертає довжину гіпотенузи трикутника з катетами `x` і `y`. Це те саме, що √(x² + y²).
    Приклад:
    double hypotValue = Math.hypot(3, 4); // результат: 5.0
  • `Math.signum(x)` — повертає знак числа `x`. Результат:
    – -1.0, якщо число негативне.
    – 1.0, якщо число позитивне.
    – 0.0, якщо число рівне нулю.

Приклад:
double signValue = Math.signum(-10); // результат: -1.0

Приклад використання різних методів класу Math
public class MathExample {
public static void main(String[] args) {
// Арифметичні операції
System.out.println(“Абсолютне значення: ” + Math.abs(-20));
System.out.println(“Максимум: ” + Math.max(5, 10));
System.out.println(“Мінімум: ” + Math.min(5, 10));
System.out.println(“Степінь: ” + Math.pow(2, 3));
System.out.println(“Квадратний корінь: ” + Math.sqrt(25));

// Тригонометрія
System.out.println(“Синус 90 градусів: ” + Math.sin(Math.toRadians(90)));
System.out.println(“Косинус 0 градусів: ” + Math.cos(Math.toRadians(0)));

// Логарифми та експоненти
System.out.println(“Натуральний логарифм: ” + Math.log(10));
System.out.println(“Експонента: ” + Math.exp(1));

// Округлення
System.out.println(“Округлення: ” + Math.round(2.6));
System.out.println(“Підлога: ” + Math.floor(2.6));
System.out.println(“Стеля: ” + Math.ceil(2.1));

// Випадкові числа
System.out.println(“Випадкове число: ” + Math.random());

// Інші операції
System.out.println(“Кубічний корінь: ” + Math.cbrt(8));
System.out.println(“Гіпотенуза для

катетів 3 і 4: ” + Math.hypot(3, 4));
}
}

Висновок

Клас `Math` — це набір статичних методів для виконання математичних операцій у Java. Завдяки йому ви можете виконувати арифметичні, тригонометричні, логарифмічні та інші математичні операції, генерувати випадкові числа, а також округлювати значення.

Математичні обчислення та клас Math