Класс Math существует только как контейнер; он содержит:
1) константы;
2) сложные математические операторы, которые являются методами класса(к ним относятсятригонометрические функции и т. д.).
Так же как с математическими константами, совсем не обязательно наличие экземпляра класса Math для того, чтобы использовать его методы. Такие методы называются статическими методами.
Статические методы– это методы, которые не вызываются для объектов.
Метод main() в программе — это статический метод. Класс сам по себе является просто контейнером для этого полезного метода, у этого класса нет конструктора. Система просто вызывает непосредственно статический метод, чтобы выполнить программу.
Синтаксис вызова метода на объектах (обычного метода):
имя_объекта.имя_метода(список_параметров);
При использовании статических методов нет объекта для вызова метода. Вся информация, которая передается в методы, передается как параметры. Чтобы не потерять результат работы метода, возвращаемое значение должно быть сразу использовано каким-либо оператором.
Синтаксис вызова статистического метода в операторе присваивания:
Переменная <результат> должна иметь тип возвращаемого значения метода. Типы передаваемых параметров должны согласовываться с типами параметров, использующихся в вызываемом методе.
Некоторые функции класса Math:
Объявление метода
Вызов метода
Возвращаемое значение
double exp(double x)
exp(x)
число е, возведенное в степень х
double pow(double x,double у)
pow(x, у)
число х, возведенное в степень у.
double log(double x)
log(x)
логарифм числа х
double sqrt(double x)
sqrt(x)
квадратный корень числа х
double abs(double x)
abs(x)
абсолютное значение числа х
Примеры использования методов класса Math
1) Пример использования метода sqrt():
double someValue = 3.2;
double resultValue;
resultValue = Math.sqrt(someValue);
Часто встречающаяся ошибка:
resultValue = someValue.sqrt(); // Нет! Нет! Нет!
Это неправильно по двум причинам:
1) методы класса Math не могут вызываться для объектов; то, над чем вы хотите произвести действия, должно быть передано как параметр;
2) someValue — это переменная, а не объект, и в любом случае невозможно вызвать метод для переменной.
2) Пример использования метода pow():
area = Math.PI * Math.pow(radius, 2.0);
Методы класса Math представляют собой черные ящики. Пользователю нужно только знать, как их использовать, а не как они действуют. Вы можете найти все необходимые типы параметров и типы возвращаемых значений в документации Java API, но там вы не найдете описание самого кода.