К. Арнольд, Д. Гослинг - Язык программирования Java, страница 13
Описание файла
PDF-файл из архива "К. Арнольд, Д. Гослинг - Язык программирования Java", который расположен в категории "". Всё это находится в предмете "языки программирования" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 13 страницы из PDF
Если цифра является недопустимой в этой системе,возвращается символ \u0000.Класс Character также содержит методы для работы с различными атрибутами символов, включая регистр. В Unicode имеется три разновидностирегистра: верхний, нижний и заглавный (title case). Верхний и нижний регистры, наверное, хорошо знакомы большинству читателей.
Заглавныйрегистр используется для обозначения символов, которые состоят из нескольких компонентов и написание которых изменяется в заголовках,где первые буквы слов обычно делают прописными. Например, в слове “ljepotica” /Слово "ljepotica" на хорватском языке означает "красавица"./первая буква является символом lj нижнего регистра (\u01c9, символ из набора Extended Latin, используемого при записи хорватских диграфов).Если это слово встретится в названии книги и вы захотите преобразовать первые буквы всех слов в верхний регистр, то необходимо вызвать дляних метод toTitleCase, что в нашем случае даст строку “Ljepotica” (в которой используется символ Lj с кодом \u01c8). Если же по ошибке вызватьметод toUpperCase, будет получена неправильная строка “LJepotica” (символ LJ с кодом \u01c7).Все проблемы в работе с регистрами решаются в соответствии со стандартом Unicode.
Например, в грузинском языке буквы верхнего регистрасчитаются архаичными, и преобразование в верхний регистр обычно нежелательно. Поэтому метод toUpperCase не переводит грузинские буквынижнего регистра в верхний, хотя метод toLowerCase переведет буквы из верхнего регистра в нижний. Поэтому нельзя быть уверенным в том,что символы, отличающиеся только регистром, станут одинаковыми после вызова toUpperCase или toLowerCase. Тем не менее выражениеCharacter.toUpperCase(Character.toLowerCase(ch));дает символ, который можно сравнить с другим символом, полученным аналогичным образом.
Если полученные символы совпадают, тоисходные символы также были одинаковыми и могли отличаться только регистром.public static boolean isDefined(char ch)Возвращает true, если символ ch определен в стандарте Unicode.public static boolean isLowerCase(char ch)Возвращает true, если символ ch является буквой нижнего регистра.public static boolean isUpperCase(char ch)Возвращает true, если символ ch является буквой верхнего регистра.public static boolean isTitleCase(char ch)Возвращает true, если символ ch является буквой заглавного регистра.public static boolean isDigit(char ch)Возвращает true, если символ ch является цифрой (см. табл.
4 на стр. ).public static boolean isLetter(char ch)Возвращает true, если символ ch является буквой (см. примечание).public static boolean isLetterOrDigit(char ch)Возвращает true, если символ ch является буквой или цифрой.public static boolean isJavaLetter(char ch)Возвращает true, если с символа ch может начинаться идентификатор в Java — конкретно, если он является буквой или одним из символов ‘_’ или‘$’.public static boolean isSpace(char ch)Возвращает true, если ch является стандартным символом-разделителем — ‘ ‘, ‘\t’, ‘\n’, ‘\f’ или ‘\r’.public static char toLowerCase(char ch)Переводит символ ch в нижний регистр. Если эквивалент символа в нижнем регистре отсутствует, возвращается ch.public static char toUpperCase(char ch)Переводит символ ch в верхний регистр.
Если эквивалент символа в верхнем регистре отсутствует, возвращается ch.public static char toTitleCase(char ch)Переводит символ ch в заглавный регистр. Если эквивалент символа в заглавном регистре отсутствует, возвращается ch.public static int digit(char ch, int radix)Возвращает численное значение символа ch, рассматриваемого в качестве цифры с заданным основанием. При недопустимом основаниивозвращается –1. Буквы AZ и az используются для цифр, которые представляют значения 10 и более.public static char forDigit(int digit, int radix)Возвращает символ, представляющий цифру digit с заданным основанием radix. Если digit превышает radix или значение radix выходит запределы разрешенного диапазона, возвращается –1.13.6.
Класс NumberАбстрактный класс Number расширяется всеми классами-оболочками, представляющими числовые примитивные типы: Integer, Long, Float иDouble. Каждый из этих классов содержит конструкторы, которые присваивают объекту либо значение соответствующего примитивного типа,либо представляющей его строки. В том случае, если строка неверна, конструктор со строковым параметром возбуждает исключениеNumberFormatException.Абстрактные методы Number возвращают значение объекта, преобразованное в один из следующих числовых типов:public int intValue()public int longValue()public int floatValue()public int doubleValue()Каждый класс, расширяющий Number, переопределяет эти методы для преобразования своего типа в любой другой по тем же правилам,которые применяются при явном приведении типов. Например, для объекта Float со значением 32.87 метод intValue возвращает 32 — столькоже, сколько дает выражение (int)32.87.Кроме того, каждый числовой класс содержит следующие методы и константы:●●●Статический метод toString(тип), который возвращает объект String для заданного значения примитивного типа.
Если строка не подходитк формату данного типа, конструктор возбуждает исключение Number FormatException.Статический метод valueOf(String), который возвращает объект числового типа по строке. Все эти методы возбуждаютNumberFormatException, если содержимое строки не является допустимым представлением примитивного типа.Статические final-константы с именами MIN_VALUE и MAX_VALUE для минимального и максимального значения, принимаемогопеременными типа.13.7. Класс IntegerКласс Integer расширяет Number и служит для представления типа int в виде класса.
Для типов short и byte классы-оболочки отсутствуют, поэтомусоответствующие значения должны храниться в объектах Integer. Помимо стандартных методов класса Number, класс Integer содержитследующие методы:public static int parseInt(String str, int radix)throws NumberFormatExceptionВозвращает значение типа int, вычисленное по строке str в системе счисления с заданным основанием radix. Если преобразование сзаданным основанием невозможно, возбуждается исключение NumberFormat Exception.public static int parseInt(String str) throws NumberFormatExceptionЭквивалентен parse Int(str, 10).public static Integer valueOf(String str, int radix) throws NumberFormatExceptionАналогично parseInt(str, Radix), за исключением того, что вместо int возвращается объект Integer.public static String toString(int i, int radix)Дополнительный статический метод, который возвращает объект String, представляющий i в системе счисления с заданным основанием radix.Стандартный метод toString предполагает работу в десятичной системе счисления.Кроме того, имеется три статических метода 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)Возвращает 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.