Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Язык программирования JAVA.pdf
Скачиваний:
278
Добавлен:
02.05.2014
Размер:
2.57 Mб
Скачать

converted to PDF by BoJIoc

Кроме того, имеется три статических метода toHexString, toOctal String и toBinaryString,

которые преобразуют аргумент типа int в шестнадцатеричную, восьмеричную или двоичную строку соответственно.

13.8. Класс Long

Класс Long расширяет Number и служит для представления типа long в виде класса. Помимо стандартных для Number методов, класс Long содержит следующие методы:

public static long parseLong(String str, int radix) throws NumberFormatException

Возвращает значение типа long, вычисленное по строке str в системе счисления с заданным основанием radix. Если строка не может быть преобразована в long с заданным основанием, возбуждается исключение NumberFormatException.

public static long parseLong(String str) throws NumberFormatException

Эквивалентен parseLong(str, 10).

public static Long valueOf(String str, int radix) throws NumberFormatException

Аналогично parseLong(str, radix), за исключением того, что вместо long возвращается объект Long.

public static String toString(long l, int radix)

Дополнительный статический метод, который возвращает объект String, представляющий l в системе счисления с заданным основанием radix. Стандартный метод toString предполагает работу в десятичной системе счисления.

По аналогии с эквивалентными методами Integer, статические методы toHexString, toOctalString и toBinaryString преобразуют аргумент типа long в шестнадцатеричную, восьмеричную или двоичную строку соответственно.

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)

converted to PDF by BoJIoc

Возвращает 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. Выведите окончательный результат.