Иллюстрированный самоучитель по Java
Класс
Character
В этом классе собраны статические
константы и методы для работы с отдельными символами.
Статический метод
digit(char ch,
in radix)
переводит цифру ch системы счисления
с основанием
radix
в ее числовое значение типа
int
.
Статический метод
forDigit(int digit,
int radix)
производит обратное преобразование
целого числа
digit
в соответствующую цифру (тип
char
)
в системе счисления с основанием
radix
.
Основание системы счисления должно
находиться в диапазоне от
Character.MIN_RADIX до Character.MAX_RADIX.
Метод
tostring()
переводит символ, содержащийся в классе, в строку с тем же символом.
Статические методы
toLowerCase()
,
touppercase(), toTitieCase()
возвращают
символ, содержащийся в классе, в указанном регистре. Последний из этих методов
предназначен для правильного перевода в верхний регистр четырех кодов Unicode,
не выражающихся одним символом.
Множество статических логических
методов проверяют различные характеристики символа, переданного в качестве аргумента
метода:
-
isDef ined()
— выясняет, определен ли символ в кодировке Unicode;
-
isDigit()
— проверяет, является ли символ цифрой Unicode;
-
isidentifierignorable()
— выясняет, нельзя ли использовать символ в идентификаторах;
-
isisocontroi()
— определяет, является ли символ управляющим;
-
isJavaidentifierPart()
— выясняет, можно ли использовать символ в идентификаторах;
-
isjavaidentifierstart()
— определяет, может ли символ начинать идентификатор;
-
isLetter()
— проверяет, является ли символ буквой Java;
-
IsLetterOrDigit()
— Проверяет, является ли символ буквой или цифрой Unicode;
-
isLowerCase()
— определяет, записан ли символ в нижнем регистре;
-
isSpaceChar()
— выясняет, является ли символ пробелом в смысле Unicode;
-
isTitieCase()
— проверяет, является ли символ титульным;
-
isUnicodeldentifierPart()
— выясняет, можно ли использовать символ в именах Unicode;
-
isunicodeidentifierstart()
— проверяет, является ли символ буквой Unicode;
-
isUpperCase()
— проверяет, записан ли символ в верхнем регистре;
-
isWhitespace()
— выясняет, является ли символ пробельным.
Точные диапазоны управляющих символов,
понятия верхнего и нижнего регистра, титульного символа, пробельных символов,
лучше всего посмотреть по документации Java API.
Листинг 4.2 демонстрирует использование
этих методов, а на рис. 4.3 показан вывод этой программы.
Листинг 4.2.
Методы класса
Character
в программе
CharacterTest
class
CharacterTest{
public
static void main(String[] args){
char ch
= '9';
Character
cl = new Character(ch);
System.out.println("ch
= " + ch);
System.out.println("cl.charValue()
= " +
c1.charValue());
System.out.println("number
of 'A' = " +
Character.digit('A', 16}};
System.out.println("digit
for 12 = " +
Character.forDigit(12, 16}};
System.out.printlnC'cl
= " + cl.toString() );
System.out.println("ch
isDefined? " +
Character.isDefined(ch));
System.out.println("ch
isDigit? " +
Character.isDigit(ch));
System.out.println("ch
isldentifierlgnorable? " +
Character.isldentifierlgnorable(ch));
System.out.println("ch
isISOControl? " +
Character.isISOControl(ch));
System.out.println("ch
isJavaldentifierPart? " +
Character.isJavaldentifierPart(ch));
System.out.println("ch
isJavaldentifierStart? " +
Character.isJavaldentifierStart(ch));
System.out.println("ch
isLetter? " +
Character.isLetter(ch));
System.out.println("ch
isLetterOrDigit? " +
Character.isLetterOrDigit(ch));
System.out.println("ch
isLowerCase? " +
Character.isLowerCase(ch));
System.out.println("ch
isSpaceChar? " +
Character.isSpaceChar(ch));
System.out.println("ch
isTitleCase? " +
Character.isTitleCase(ch));
System.out.println("ch
isUnicodeldentifierPart? " +
Character.isUnicodeldentifierPart(ch));
System.out.println("ch
isUnicodeldentifierStart? " +
Character.isUnicodeldentifierStart(ch));
System.out.println("ch
isUpperCase? " +
Character.isUpperCase(ch));
System.out.println("ch
isWhitespace? " +
Character.isWhitespace(ch)); } }
В класс
Character
вложены классы
Subset
и
UnicodeBlock
,
причем класс
Unicode
и еще один класс,
inputSubset
,
являются расширениями класса
Subset
, как это видно на
рис. 4.1. Объекты этого класса содержат подмножества Unicode.
Рис. 4.3.
Методы
класса Character в программе CharacterTest
Вместе с классами-оболочками удобно
рассмотреть два класса для работы со сколь угодно большими числами.