Иллюстрированный самоучитель по 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

Вместе с классами-оболочками удобно рассмотреть два класса для работы со сколь угодно большими числами.


Содержание раздела