Иллюстрированный самоучитель по Java

Вещественные типы

Вещественных типов в Java два: float и double. Они характеризуются разрядностью, диапазоном значений и точностью представления, отвечающим стандарту IEEE 754-1985 с некоторыми изменениями. К обычным вещественным числам добавляются еще три значения:

  1. Положительная бесконечность, выражаемая константой POSITIVE_INFINITY и возникающая при переполнении положительного значения, например, в результате операции умножения 3.0*6е307.
  2. Отрицательная бесконечность NEGATIVE_INFINITY.
  3. "Не число", записываемое константой NaN (Not a Number) и возникающее при делении вещественного числа на нуль или умножении нуля на бесконечность.

В главе 4 мы поговорим о них подробнее.

Кроме того, стандарт различает положительный и отрицательный нуль, возникающий при делении на бесконечность соответствующего знака, хотя сравнение 0.0 == -0.0 дает true.

Операции с бесконечностями выполняются по обычным математическим правилам.

Во всем остальном вещественные типы – это обычные, вещественные значения, к которым применимы все арифметические операции и сравнения, перечисленные для целых типов. Характеристики вещественных типов приведены в табл. 1.4.

Знатокам C/C++
В языке Java взятие остатка от деления %, инкремент ++ и декремент -- применяются и к вещественным типам
.

Таблица 1.4. Вещественные типы.

Тип Разрядность Диапазон Точность
float 4 3.4е-38 < |х| < 3.4е38 7-8 цифр
double 8 1.7е-308<|х|<1.7е308 17 цифр

Примеры определения вещественных типов:

float х = 0.001, у = -34.789;
double 21 = -16.2305, z2;

Поскольку к вещественным типам применимы все арифметические операции и сравнения, целые и вещественные значения можно смешивать в операциях. При этом правило приведения типов дополняется такими условиями:

  • если в операции один операнд имеет тип double, то и другой приводится к типу double;
  • если один операнд имеет тип float, то и другой приводится к типу float;
  • в противном случае действует правило приведения целых значений.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.