У Java було кілька вдосконалених додатків для використання, включаючи роботу зі складними обчисленнями у фізиці, архітектурі / проектуванні конструкцій, роботу з картами та відповідними широтами / довготами тощо.
У цьому підручнику ви дізнаєтесь:
- Math.abs
- Math.round
- Math.ceil & Math.floor
- Math.min
Усі такі програми вимагають використання складних обчислень / рівнянь, які втомливо виконувати вручну. Програмно такі розрахунки включатимуть використання логарифмів, тригонометрії, експоненціальних рівнянь тощо.
Тепер ви не можете мати усі таблиці журналів або тригонометрії чітко закодованими десь у вашому додатку чи даних. Дані були б величезними та складними для ведення.
Для цього Java пропонує дуже корисний клас. Це клас математики Java (java.lang.Math).
Цей клас забезпечує методи виконання таких операцій, як експоненціальне, логарифмне, кореневе та тригонометричне рівняння.
Давайте подивимось на методи, передбачені класом Java Math.
Двома найбільш фундаментальними елементами в математиці є "е" (основа природного логарифму) і "пі" (відношення окружності кола до його діаметра). Ці дві константи часто потрібні у вищезазначених розрахунках / операціях.
Отже, Java-клас Math надає ці дві константи як подвійні поля.
Math.E - значення 2,718281828459045
Math.PI - має значення 3,141592653589793
А) Давайте подивимось на таблицю нижче, яка показує нам основні методи та їх опис
Метод | Опис | Аргументи |
абс | Повертає абсолютне значення аргументу | Подвійний, поплавковий, внутрішній, довгий |
круглі | Повертає закрите int або long (відповідно до аргументу) | подвійний або поплавковий |
стеля | Повертає найменше ціле число, яке більше або дорівнює аргументу | Подвійний |
підлога | Повертає найбільше ціле число, яке менше або дорівнює аргументу | Подвійний |
хв | Повертає найменший із двох аргументів | Подвійний, поплавковий, внутрішній, довгий |
макс | Повертає найбільший із двох аргументів | Подвійний, поплавковий, внутрішній, довгий |
Нижче наведено код реалізації вищезазначених методів:
Примітка: Немає необхідності явно імпортувати java.lang.Math як неявно імпортований. Всі його методи є статичними.
Ціла змінна
int i1 = 27;int i2 = -45;
Подвійні (десяткові) змінні
double d1 = 84.6;double d2 = 0.45;
Math.abs
public class Guru99 {public static void main(String args[]) {int i1 = 27;int i2 = -45;double d1 = 84.6;double d2 = 0.45;System.out.println("Absolute value of i1: " + Math.abs(i1));System.out.println("Absolute value of i2: " + Math.abs(i2));System.out.println("Absolute value of d1: " + Math.abs(d1));System.out.println("Absolute value of d2: " + Math.abs(d2));}}Вихід:
Absolute value of i1: 27Absolute value of i2: 45Absolute value of d1: 84.6Absolute value of d2: 0.45
Math.round
public class Guru99 {public static void main(String args[]) {double d1 = 84.6;double d2 = 0.45;System.out.println("Round off for d1: " + Math.round(d1));System.out.println("Round off for d2: " + Math.round(d2));}}Вихід:
Round off for d1: 85Round off for d2: 0
Math.ceil & Math.floor
public class Guru99 {public static void main(String args[]) {double d1 = 84.6;double d2 = 0.45;System.out.println("Ceiling of '" + d1 + "' = " + Math.ceil(d1));System.out.println("Floor of '" + d1 + "' = " + Math.floor(d1));System.out.println("Ceiling of '" + d2 + "' = " + Math.ceil(d2));System.out.println("Floor of '" + d2 + "' = " + Math.floor(d2));}}Вихід:
Ceiling of '84.6' = 85.0Floor of '84.6' = 84.0Ceiling of '0.45' = 1.0Floor of '0.45' = 0.0
Math.min
public class Guru99 {public static void main(String args[]) {int i1 = 27;int i2 = -45;double d1 = 84.6;double d2 = 0.45;System.out.println("Minimum out of '" + i1 + "' and '" + i2 + "' = " + Math.min(i1, i2));System.out.println("Maximum out of '" + i1 + "' and '" + i2 + "' = " + Math.max(i1, i2));System.out.println("Minimum out of '" + d1 + "' and '" + d2 + "' = " + Math.min(d1, d2));System.out.println("Maximum out of '" + d1 + "' and '" + d2 + "' = " + Math.max(d1, d2));}}Вихід:
Minimum out of '27' and '-45' = -45Maximum out of '27' and '-45' = 27Minimum out of '84.6' and '0.45' = 0.45Maximum out of '84.6' and '0.45' = 84.6
Б) Давайте подивимось на таблицю нижче, яка показує нам експоненціальний та логарифмічний методи та їх опис -
Метод | Опис | Аргументи |
досвід | Повертає основу натурального журналу (e) до рівня аргументу | Подвійний |
Журнал | Повертає природний журнал аргументу | подвійний |
Пау | Бере 2 аргументи як вхідні та повертає значення першого аргументу, піднятого в ступінь другого аргументу | Подвійний |
підлога | Повертає найбільше ціле число, яке менше або дорівнює аргументу | Подвійний |
Sqrt | Повертає квадратний корінь аргументу | Подвійний |
Нижче наведена кодова реалізація вищезазначених методів: (використовуються ті самі змінні, що і вище)
public class Guru99 {public static void main(String args[]) {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(0.45) = 1.568312185490169log(0.45) = -0.7985076962177716pow(5, 3) = 125.0sqrt(16) = 4.0
В) Давайте подивимося на таблицю нижче, яка показує нам тригонометричні методи та їх опис -
Метод | Опис | Аргументи |
Гріх | Повертає синус вказаного аргументу | Подвійний |
Кос | Повертає косинус зазначеного аргументу | подвійний |
Засмага | Повертає тангенс вказаного аргументу | Подвійний |
Атан2 | Перетворює прямокутні координати (x, y) у полярні (r, тета) і повертає тета | Подвійний |
toDegrees | Перетворює аргументи в градуси | Подвійний |
Sqrt | Повертає квадратний корінь аргументу | Подвійний |
до радян | Перетворює аргументи в радіани | Подвійний |
Аргументи за замовчуванням - у радіанах
Нижче наведено реалізацію коду:
public class Guru99 {public static void main(String args[]) {double angle_30 = 30.0;double radian_30 = Math.toRadians(angle_30);System.out.println("sin(30) = " + Math.sin(radian_30));System.out.println("cos(30) = " + Math.cos(radian_30));System.out.println("tan(30) = " + Math.tan(radian_30));System.out.println("Theta = " + Math.atan2(4, 2));}}Вихід:
sin(30) = 0.49999999999999994cos(30) = 0.8660254037844387tan(30) = 0.5773502691896257Theta = 1.1071487177940904
Тепер, маючи вищесказане, ви також можете створити власний науковий калькулятор у Java.