Java. Класс Character. Методы класса определяющие принадлежность символа к заданной категории

Класс Character. Методы класса определяющие принадлежность символа к заданной категории. Методы isDigit(), isIdentifierIgnorable(), isLowerCase(), isSpace(), isUpperCase(), isWhiteSpace()

В данной теме рассматриваются методы, не поддерживающие кодовые точки Unicode.


Содержание


Поиск на других ресурсах:

1. Метод isDigit(). Определяет, есть ли заданный символ цифрой

Метод isDigit() определяет, является ли заданный символ цифрой. Согласно документации, объявление метода следующее

public static boolean isDigit(char ch);

здесь

  • ch – рассматриваемый символ. Если символ ch представляет собой цифру, то метод возвращает true, иначе метод возвращает false.

Символ считается цифрой, если общий тип категории имеет значение DECIMAL_DIGIT_NUMBER. Это значение можно получить с помощью вызова

Character.getType(ch)

где ch – символ, проверяемый на принадлежность заданной категории.

Пример.

// Метод isDigit() - есть ли символ є цифрой

// 1. Определение с помощью метода isDigit()
boolean res;
char c = '5';
res = Character.isDigit(c); // res = true

c = 'z';
res = Character.isDigit(c); // res = false

res = Character.isDigit('+'); // res = false
res = Character.isDigit(';'); // res = false

// 2. Проверка с использованием константы DECIMAL_DIGIT_NUMBER
// Определить, есть ли символ '5' цифрой
int type = Character.getType('5');

if (type == Character.DECIMAL_DIGIT_NUMBER)
  res = true;
else
  res = false;

 

2. Метод isIdentifierIgnorable(). Определяет, игнорируется ли символ

Метод isIdentifierIgnorable() определяет, следует ли заданный символ рассматривать как игнорируемый в соответствии с идентификатором Java или идентификатором Unicode. Согласно документации, синтаксис объявления метода имеет вид.

public static boolean isIdentifierIgnorable(char ch);

здесь

  • ch – проверяемый символ.

Метод возвращает true, если символ является игнорируемым символом, который может быть частью идентификатора Java или Unicode. В противном случае метод возвращает false.
В идентификаторе Java и идентификаторе Unicode игнорируются следующие символы:

  • управляющие символы ISO, не являющиеся пробелами;
  • символы с кодами от ‘\u0000’ до ‘\u0008’;
  • символы с кодами от ‘\u000E’ до ‘\u001B’;
  • символы с кодами от ‘\u007F’ до ‘\u009F’;
  • все символы, которые имеют значения общей категории FORMAT.

Пример.

// Использование метода isIdentifierIgnorable()
boolean res;
char c = '5';
res = Character.isIdentifierIgnorable(c); // res = false

c = '\u0003';
res = Character.isIdentifierIgnorable(c); // res = true

res = Character.isIdentifierIgnorable('\u0012'); // res = true

 

3. Метод isLowerCase(). Есть ли указанный символ строчным

Метод isLowerCase() определяет символ на принадлежность строчным буквам (a, b, c, …). Общий синтаксис объявления метода:

public static boolean isLowerCase(char ch);

здесь

  • ch – проверяемый символ.

Метод возвращает true, если символ ch является символом нижнего регистра.
Символ есть нижним регистром, если его общий тип категории равен LOWERCASE_LETTER. Этот тип можно определить с помощью вызова

Character.getType(ch)

Пример.

// Метод isLowerCase() - есть ли символ символом нижнего регистра

// 1. Использование метода isLowerCase()
boolean res;
char ch = '5';
res = Character.isLowerCase(ch); // res = false

res = Character.isLowerCase('+'); // res = false
res = Character.isLowerCase('f'); // res = true

// 2. Использование константы LOWERCASE_LETTER.
// Определить, к какой категории принадлежит символ 'b'
byte categoryType = (byte)Character.getType('b');

if (categoryType == Character.LOWERCASE_LETTER)
  res = true;
else
  res = false;

 

4. Метод isSpace(). Определение, есть ли указанный символ пробельным

Метод isSpace() определяет, является ли заданный символ пробелом согласно кодировке ISO-LATIN-1. Синтаксис объявления метода следующий:

public static boolean isSpace(char ch);

здесь ch – проверяемый символ.

Метод возвращает true для следующих символов:

'\t' - табуляция
'\n' - новая строка
'\f' - подача формы (Form Feed)
'\r' - возврат каретки
' ' - пробел

Пример.

// Метод isSpace() - есть ли символ пробельным
boolean res;
char ch = '5';

res = Character.isSpace(ch); // res = false

res = Character.isSpace(' '); // res = true
res = Character.isSpace('\n'); // res = true

 

5. Метод isUpperCase(). Есть ли символ в верхнем регистре

Метод isUpperCase() предназначен для определения того, указан ли символ в верхнем регистре. Общий синтаксис объявления метода следующий

public static boolean isUpperCase(char ch);

здесь

  • ch – проверяемый символ.

Метод возвращает true, если символ ch находится в верхнем регистре. В противном случае метод возвращает false.
Символ считается символом верхнего регистра, если вызов

Character.getType(ch)

возвращает значение UPPERCASE_LETTER.

Пример.

// Метод isUpperCase() - есть ли символ в верхнем регистре

// 1. Использование метода isUpperCase()
boolean res;
char ch = '5';
res = Character.isUpperCase(ch);  // res = false

res = Character.isUpperCase('a'); // res = false
res = Character.isUpperCase('B'); // res = true
res = Character.isUpperCase('F'); // res = true

// 2. Использование константы UPPERCASE_LETTER.
// Определить, есть ли символ 'Z' в верхнем регистре
if (Character.getType('Z')==Character.UPPERCASE_LETTER)
  res = true;
else
  res = false;

 

6. Метод isWhiteSpace(). Определить, является ли заданный символ пробельным

Метод isWhiteSpace() является обновленной версией метода isSpace() и предназначен для определения того, что заданный символ есть пробельным в соответствии с Java-интерпретацией.

Общая форма метода следующая

public static boolean isWhitespace(char ch);

здесь

  • ch – проверяемый символ.

Метод возвращает true, если символ ch пробельный. Иначе метод возвращает false.

По сравнению с методом isSpace(), этот метод имеет дополнительные критерии определения пробельного символа, учитывающие кодирвку Unicode.

Пример.

// Метод isWhiteSpace() - есть ли символ пробельным
boolean res;
char ch = '5';
res = Character.isWhitespace(ch); // res = false

res = Character.isWhitespace('\t'); // res = true
res = Character.isWhitespace('\r'); // res = true

 


Связанные темы