Иллюстрированный самоучитель по Java
Вещественные
типы
Вещественных типов в Java два: float
и double. Они характеризуются разрядностью, диапазоном значений и точностью
представления, отвечающим стандарту IEEE 754-1985 с некоторыми изменениями.
К обычным вещественным числам добавляются еще три значения»
1. Положительная бесконечность,
выражаемая константой
POSITIVE_INFINITY
и возникающая
при переполнении положительного значения, например, в результате операции умножения
3.0*6е307.
2. Отрицательная бесконечность
NEGATIVE_INFINITY
.
3. "Не число", записываемое
константой NaN (Not a Number) и возникающее при делении вещественного числа
на нуль или умножении нуля на бесконечность.
В
главе 4
мы поговорим о
нихподробнее.
Кроме того, стандарт различает положительный
и отрицательный нуль, возникающий при делении на бесконечность соответствующего
знака, хотя сравнение о.о == -о.о дает true.
Операции с бесконечностями выполняются
по обычным математическим правилам.
Во всем остальном вещественные типы
— это обычные, вещественные значения, к которым применимы все арифметические
операции и сравнения, перечисленные для целых типов. Характеристики вещественных
типов приведены в табл. 1.4.
Знатокам
C/C++
В языке Java взятие остатка*от
деления %, инкремент ++ и декремент — применяются и к вещественным типам.
Таблица 1.4.
Вещественные
типы
Примеры определения вещественных
типов:
float х = 0.001,
у = -34.789;
double 21 = -16.2305,
z2;
Поскольку к вещественным типам применимы
все арифметические операции и сравнения, целые и вещественные значения можно
смешивать в операциях. При этом правило приведения типов дополняется такими
условиями:
-
если в операции один операнд
имеет тип double, то и другой приводится к типу double;
-
если один операнд имеет тип float,
то и другой приводится к типу float;
-
в противном случае действует
правило приведения целых значений.