Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GoslingJava2.doc
Скачиваний:
140
Добавлен:
23.02.2016
Размер:
2.39 Mб
Скачать

13.9. Классы Float и Double

Классы Float и Double расширяют Number и служат для представления типов float и double в виде класса. За редкими исключениями, имена методов и константы совпадают для обоих типов. Приведенный ниже список соответствует классу Float, однако float и Float всюду могут быть заменены на double и Double соответственно, что даст эквивалентные поля и методы для класса Double. Помимо стандартных методов класса Number, классы Float и Double содержат следующие методы:

public final static float POSITIVE_INFINITY

Значение для +.

public final static float NEGATIVE_INFINITY

Значение для –.

public final static float NaN

“Не-число” (“Not-a-Number”, NaN). Константа предназначена для задания значения NaN, но не для его проверки. Чтобы узнать, является ли число NaN, следует воспользоваться методом isNaN, а не сравнением с этой константой.

public static boolean isNaN(float val)

Возвращает true, если val представляет собой не-число (NaN).

public static boolean isInfinite(float val)

Возвращает true, если val представляет собой положительную или отрицательную бесконечность.

public boolean isNaN()

Возвращает true, если значение текущего объекта представляет собой не-число (NaN).

public boolean isInfinite()

Возвращает true, если значение текущего объекта представляет собой положительную или отрицательную бесконечность.

Кроме перечисленных выше методов, Float также содержит конструктор, который получает аргумент типа double. Этот аргумент используется в качестве исходного значения после его приведения к float.

Для манипуляций с битами внутри представления числа с плавающей точкой Double содержит методы для получения битовой последовательности типа long и для ее обратного приведения к типу double. Класс Float содержит эквивалентные методы для преобразования значения типа float в битовую последовательность типа int и наоборот:

public static int floatToIntBits(float value)

Возвращает битовое представление значения float в виде int.

public static float intBitsToFloat(int Bits)

Возвращает значение float, соответствующее заданному битовому представлению.

public static int doubleToLongBits(double value)

Возвращает битовое представление значения double в виде long.

public static double longBitsToDouble(long Bits)

Возвращает значение double, соответствующее заданному битовому представлению.

Упражнение 13.3

Напишите программу, которая читает файл, состоящий из элементов вида“тип значение”, где тип— название одного из классов (Boolean, Character и т.д.), а значение— строка, которую может воспринимать конструктор заданного типа. Для каждого элемента файла создайте объект нужного типа с указанным значением и добавьте его к вектору Vector. Выведите окончательный результат.

Глава 14 системное программирование

Глендаур: Я духов вызывать могу из бездны. Хотспер: И я могу, и каждый это может, Вопрос лишь, явятся ль они на зов. Вильям Шекспир, “Генрих IV”, перевод Е. Бируковой

В этой главе рассказано, как работать с общими функциями runtime-системы Java и операционной системы. К ним относятся: определение системных свойств, математические вычисления, запуск других программ, управление памятью, отсчет времени. Эти функции предоставляются четырьмя классами Java:

  • Класс Runtime описывает состояние runtime-системы Java. Объект этого класса отвечает за доступ к функциям времени выполнения — например, управлению сборщиком мусора и прекращением работы.

  • Класс Process представляет выполняемый процесс, созданный вызовом метода Runtime.exec.

  • Класс System содержит статические методы для работы с состоянием системы в целом. Некоторые методы System оперируют с текущим runtime-контекстом.

Класс Math содержит статические методы для выполнения многих стандартных математических вычислений— например, для определения значения тригонометрических функций и логарифмов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]