Как правило, мы будем использовать основные типы данных: byte, int, short, long, double, float, boolean, char;
Также имеется восемь соответствующих типов упаковки: байтовая, целая, короткая, длинная, двойная, с плавающей запятой, символьная, логическая;
Типы упаковки объявляются с параметром Final и не могут быть переопределены путем наследования; в реальных ситуациях компилятор автоматически упаковывает базовый тип данных в тип объекта или распаковывает тип объекта в базовый тип данных следующим образом:
public static void main(String[] args) { целое число1 = 1; //Упаковываем базовые типы данных в типы упаковки объектов Integer num2 = num1; Целое число 3 = 3; //Распаковываем класс данных объекта int num4 = num3; }
Класс Number является абстрактным классом в пакете java.lang. Он предоставляет метод для распаковки упакованных типов в базовые типы. Все упакованные типы базовых типов (типы данных) наследуют этот абстрактный класс, и его окончательное объявление не может быть унаследовано и изменено. ;
пакет java.lang; общедоступный абстрактный класс Number реализует java.io.Serializable { публичный абстрактный int intValue(); публичный абстрактный длинный longValue(); общедоступное абстрактное число с плавающей запятой floatValue(); публичный абстрактный двойной doubleValue(); общедоступный байт byteValue() { вернуть (байт) intValue(); } публичный короткий shortValue() { вернуть (короткое) intValue(); } частный статический окончательный длинный сериалVersionUID = -8742448824652078965L; }
Упаковка | Основные типы данных |
---|---|
логическое значение | логическое значение |
Байт | байт |
Короткий | короткий |
Целое число | интервал |
Длинный | длинный |
Характер | голец |
Плавать | плавать |
Двойной | двойной |
Этот вид упаковки, специально поддерживаемый компилятором, называется упаковкой, поэтому, когда встроенный тип данных используется в качестве объекта, компилятор упаковывает встроенный тип в класс-оболочку. Аналогичным образом компилятор может распаковать объект во встроенный тип. Класс номера принадлежит пакету java.lang.
Вот пример упаковки и распаковки:
publicclassTest{
publicstaticvoidmain(Stringargs[]){
Integerx=5;//boxesinttoanIntegerobject
x=x+10;//распаковываемIntegertoaint
System.out.println(x);
}
}
Результаты компиляции и запуска приведенного выше примера следующие:
15
Когда x присваивается целочисленное значение, компилятор должен упаковать x, поскольку x является объектом. Затем, чтобы добавить x, x распаковывается.
Java Math содержит свойства и методы для выполнения основных математических операций, таких как элементарные экспоненты, логарифмы, квадратные корни и тригонометрические функции.
Все математические методы определены в статической форме и могут вызываться непосредственно в основной функции через класс Math.
Пример
тест публичного класса {
public static void main (String []args)
{
System.out.println("Синус 90 градусов: " + Math.sin(Math.PI/2));
System.out.println("Косинус 0 градусов: " + Math.cos(0));
System.out.println("тангенс 60 градусов: " + Math.tan(Math.PI/3));
System.out.println("Арктангенс 1: " + Math.atan(1));
System.out.println("Значение угла π/2: " + Math.toDegrees(Math.PI/2));
System.out.println(Math.PI);
}
}
Результаты компиляции и запуска приведенного выше примера следующие:
Синус 90 градусов: 1,0
Косинус 0 градусов: 1,0
Значение тангенса 60 градусов: 1,7320508075688767.
Арктангенс 1:0,7853981633974483
Значение угла π/2: 90,0.
3.141592653589793
Методы класса Number&Math
В следующей таблице перечислены часто используемые методы классов Number и Math:
серийный номер | Методы и описание | |||||
---|---|---|---|---|---|---|
1 | xxxValue() преобразует числовой объект в значение типа данных xxx и возвращает его. | |||||
2 | CompareTo() сравнивает числовой объект с параметром. | |||||
3 | Equals() определяет, равен ли числовой объект параметру. | |||||
4 | valueOf() возвращает объект Integer, указывающий встроенный тип данных. | |||||
5 | toString() возвращает значение в строковой форме. | |||||
6 | parseInt() преобразует строку в тип int. | |||||
7 | abs() возвращает абсолютное значение аргумента. | |||||
8 | ceil() возвращает наименьшее целое число, большее или равное (>=) заданному параметру, тип — с плавающей запятой двойной точности. | |||||
9 | Floor() возвращает наибольшее целое число, меньшее или равное (<=) заданному аргументу. | |||||
10 | rint() возвращает ближайшее к аргументу целое число. Тип возвращаемого значения — двойной. | |||||
11 | round() возвращает ближайшее целое или длинное значение. | |||||
12 | min() возвращает минимальное значение двух параметров. | |||||
13 | max() возвращает максимальное значение двух параметров. | |||||
14 | exp() возвращает степень параметра натуральной системы счисления e. | |||||
15 | log() возвращает логарифм натурального числа аргумента. | |||||
16 | pow() возвращает первый параметр, возведенный в степень второго параметра. | |||||
17 | sqrt() находит квадратный арифметический корень аргумента. | |||||
18 | sin() находит значение синуса указанного параметра типа double. | |||||
19 | cos() находит значение косинуса указанного параметра типа double. | |||||
20 | tan() находит значение тангенса указанного параметра типа double. | |||||
двадцать один | asin() находит значение арксинуса указанного параметра типа double. | |||||
двадцать два | acos() находит значение арккосинуса указанного параметра типа double. | |||||
двадцать три | atan() находит значение арктангенса указанного параметра типа double. | |||||
двадцать четыре | atan2() преобразует декартовы координаты в полярные координаты и возвращает значение угла полярных координат. | |||||
25 | toDegrees() преобразует параметры в углы. | |||||
26 | toRadians() преобразует углы в радианы. | |||||
27 | Random() возвращает случайное число. |