Пакет java.lang
Этот пакет считается основным. Он содержит классы, которые соответствуют основным типам данных (скажем, класс Number — для числовых данных). Кратко рассмотрим некоторые классы из этого пакета.
• Класс Boolean. Этот класс соответствует булеву (логическому) типу. Это не очень большой класс. Имеет два конструктора (в параметрах либо булево значение, либо строка) и содержит несколько методов. Вот некоторые из них:
— equals — возвратит значение true, если вызывающий объект и параметр эквивалентны;
— toString — преобразует булево значение в строку;
— valueOf — преобразует строку в булево значение.
• Класс Byte. Подкласс класса Number. Отвечает за тип данных byte. В нем существуют две константы MIN_VALUE и MAX_VALUE, и два конструктора, которые задают либо числовое значение, либо строчное.
Вот некоторые методы этого класса:
— byteValue — возвращает значение с типом byte;
— doubleValue — возвращает значение с типом double;
— equals — возвратит значение true, если вызывающий объект и параметр эквивалентны;
— f loatvalue — возвращает значение с типом float;
— int Value — возвращает значение с типом int;
— longValue — возвращает значение с типом long;
— parseByte — есть два метода с таким именем: первый переводит строку в числовое значение byte, а второй тоже, только с использованием заданной вторым параметром системы счисления;
— shortValue — возвращает значение с типом short;
— toString — превращает значение в строку;
— valueOf — превращает строку в числовой тип данных (первый метод — в десятичную систему счисления, второй — аналогично с использованием заданной системы счисления).
• Класс Character. Для типа данных char. Содержит константы MIN_VALUE и МАХ_VALUE, один конструктор, а также множество методов, позволяющих узнать о том, какой этот символ (нижнего регистра — isLowerCase, верхнего регистра — isTitleCase и др.), и получить этот символ в нижнем регистре (toLowerCase), верхнем регистре (toUpperCase) и т.д.
• Класс Class. С помощью этого класса можно узнать состояние класса или интерфейса: с одной стороны, какой класс (узнать его имя— getName) исследуемый класс наследует (getSuperclass) или какие интерфейсы расширяет (get Interfaces), ас другой стороны, какие члены класса он имеет (getFields — для полей, getMethods — для методов). Чтобы узнать, интерфейс ли это (может быть, это изначально не класс, а интерфейс), нужно использовать метод islnter-face. Подробно данный класс мы не будем здесь рассматривать.
• Класс Double. Отвечает за тип double. Аналогичен классу Byte, однако в нем не может указываться система счисления (в методах parseDouble и valueOf). Есть метод isNaN, который позволяет определить, является ли данное значение числом (возвращает логическое значение).
Также есть метод islnf inite, который позволяет узнать, является ли значение бесконечным.
• Класс Float. Отвечает за тип данных float. Аналогичен классу Double.
• Класс integer. Отвечает за тип данных int. Аналогичен классу Byte.
• Класс Long. Отвечает за тип данных long. Аналогичен классу Byte.
• Класс Math. Необходим для выполнения математических операций. Содержит две константы: Е (константа Эйлера) и PI (число я). Вот некоторые методы (они все статические).
— abs — возвращает абсолютное значение числа,
— acos — возвращает арккосинус,
— as in — возвращает арксинус,
— atan — возвращает арктангенс.
— atan2 — возвращает арктангенс, числа х/у (х, у — первый и второй параметры
соответственно),
— cei 1 — ближайшее большее целое число,
— cos — возвращает косинус.
— ехр — возвращает возведенную в заданную степень экспоненту,
— floor — ближайшее меньшее целое число,
— log — вычисляет натуральный логарифм,
— шах — выбирает максимальное из двух чисел,
— min — возвращает минимальное из двух чисел,
— pow — возводит первое число в степень второго,
— random — получает случайное число от 0 до 1 и его же возвращает.
— rint — округляет число.
— round — округляет число до значения в типе int или long,
— sin — возвращает синус,
— sqrt — вычисляет квадратный корень,
— tan — возвращает тангенс.
• Класс Number. Является суперклассом для классов числовых значений.
• Класс Object. Суперкласс для всех остальных классов. Содержит несколько методов, которые могут использовать любые объекты (потоковые методы wait (), notify () , notifyAll (); метод finalize (), метод toString () и др.).
• Класс Package. Этот класс позволяет собрать информацию о пакете.
• Класс Short. Отвечает за тип данных short. Аналогичен классу Byte.
• Класс String. Он существует для работы со строками. Вот некоторые методы:
— charAt — получает символ из строки с данным номером;
— concat — складывает две строки;
— length — длина строки;
— replace — заменяет в строке символ, передаваемый в первом параметре, на символ, передаваемый во втором параметре;
— toCharArray — преобразует строку в массив символов;
— toLowerCase — преобразование строки в нижний регистр;
— toUpperCase — преобразование строки в верхний регистр;
— substring — копирует часть строки с заданными номерами символов;
— valueOf — преобразование данных в строку.
• Класс StringBuffered. Класс, похожий на String. Тут строки могут быть нефиксированной длины. Есть несколько любопытных методов:
— append — преобразует данные в тип StringBuf fered;
— delete — удаляет часть строки, переданную по координатам;
— deleteCharAt — удаляет символ, индекс которого указан в параметре, из строки;
— insert — вставляет данные в строку на указанную позицию;
— replace — заменяет участок строки, который обнаруживается по координатам, на строку, указанную в третьем параметре;
— reverse — обращает порядок символов в строке.
• Класс System. Он содержит свойства исполнительной системы Java. Наиболее известные поля — поля стандартного вывода (out), ввода (in) и вывода для ошибок (err). Вот несколько методов:
— currentTimeMillis — текущее время в миллисекундах с 1.01.1970;
— exit — останавливает выполнение программы (если в параметрах 0, значит,
программа нормально завершилась);
— setErr — устанавливает параметр в еrr-поток;
— set In — устанавливает параметр в in-поток;
— setOut — устанавливает параметр в out-поток.
• Класс Thread. Несколько конструкторов, три константы приоритетов
(MIN_VALUE, MAX_VALUE и NORM_VALUE). Основные методы (методы, рассмотренные в главе 5, исключены из списка):
— destroy — завершение потока;
— getName — возвращает имя потока;
— interrupt — прерывание потока;
— islnterrupted — прерван ли поток? Ответ возвращает этот метод;
— setName — устанавливает имя потока.
• Класс ThreadGroup. Этот класс позволяет объединить потоки в группу. Вот некоторые его методы:
— destroy — уничтожает группу потоков;
— enumerate — создает группу потоков;
— getMaxPriority — возвращает максимальный приоритет;
— interrupt — вызывает метод interrupt у всех потоков, принадлежащих данной группе;
— setMaxPriority — устанавливает максимальный приоритет.
Приведем пример использования этого пакета с некоторыми его классами (листинг 6.5).
Листинг 6.5.
Пример использования пакета с некоторыми его классами