Пакет 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.
Пример использования пакета с некоторыми его классами