Как мы уже знаем, литералы – это данные, значение которых целиком определяется самой записью этих данных, т.е. является частью текста программы.
Литералы с плавающей точкой могут быть выражены в стандартной (с фиксированным числом знаков после десятичной точки) или научной (экспоненциальной) форме.
Стандартная форма состоит из целого компонента, за которым следует десятичная точка, а далее – дробная компонента, например, 2.0, 3.14159, 0.25.
Научная форма представления использует стандартные обозначения: число с плавающей точкой (мантисса) плюс суффикс, определяющий степень 10, на которую должно быть умножено число. Экспонента (возведение в степень) обозначается буквой E или e (английского алфавита). За ней следует положительное или отрицательное число – порядок степени. Например, ─ 6.022E23, 314159E ─05, 2e+100.
Научная форма вещественного числа проиллюстрирована на рисунке 2.4.
Рисунок 2.4 – Научная форма представления
вещественного числа
В программе можем встретить, например, следующие строки:
double a=─299.555E─2;
float b=0.5f;
По умолчанию литералы с плавающей точкой Java имеют double-точность. Чтобы определить float-литерал, следует добавить в конец его записи символ F или f. Можно также явно определить double-литерал, добавляя D или d в конец его записи, но такое определение будет избыточным.
Примеры:
для типа float: 3.1415F или 3.1415f (F или f обозначает тип float);
для типа double: 3.1415 (в фиксированном формате) или 0.314Е+1 (в научном формате), 234.525d (явно указан тип).
Выражения.
Выражения позволяют комбинировать константы, переменные и операции для выполнения сложных вычислений.
Соединение в одном выражении нескольких операций требует учета их старшинства. Порядок выполнения операций в выражении:
1) выражение в круглых скобках,
2) умножение и деление,
3) сложение и вычитание.
Обычно выражения – это правые части формул для вычисления значений переменных. Если операцию требуется выполнить с данными разного размера (см. таблицу 2.1) или типа, то более простой тип автоматически преобразуется в более сложный (целочисленные преобразуются в действительные, меньшие по размеру преобразуются в большие по размеру). Например, float-данные автоматически преобразуется в double, если складываются с double-данными. А преобразование (из double во float) должно указываться программистом явно, т.к. связано с уменьшением размера, т.е. с потерей значащих цифр. Указание дается в форме (float)(выражение). Например, следующий фрагмент кода требует явного преобразования типа:
double b=2.5;
float c=5.25f;
float а= (float) (b+c);.