В этой главе мы в основном знакомим вас с классом символов Java и использованием класса символов.
При использовании символов мы обычно используем встроенный тип данных char.
char ch = 'a'; // Unicode for uppercase Greek omega character char uniChar = 'u039A'; // 字符数组char[] charArray = { 'a', 'b', 'c', 'd', 'e' };
Однако в реальном процессе разработки мы часто сталкиваемся с ситуациями, когда нам необходимо использовать объекты вместо встроенных типов данных. Чтобы решить эту проблему, язык Java предоставляет класс-оболочку Символьный класс для встроенного типа данных char.
Использование класса символов: Класс символов предоставляет ряд методов для управления символами. Вы можете использовать конструктор символов для создания объекта класса символов, например:
Character ch = new Character('a');
В некоторых случаях компилятор Java автоматически создает объект «Символ».
Например, когда параметр типа char передается символу, для которого требуется параметр типа «Character», компилятор автоматически преобразует параметр типа «char» в объект «Character». Эта функция называется упаковкой, а обратная — распаковкой.
// Here following primitive char 'a' // is boxed into the Character object ch Character ch = 'a'; // Here primitive 'x' is boxed for method test, // return is unboxed to char 'c' char c = test('x');
Символ, которому предшествует обратная косая черта (), представляет собой escape-символ, который имеет особое значение для компилятора.
В следующем списке показаны escape-последовательности Java:
escape-последовательность | описывать |
---|---|
т | Вставьте клавишу табуляции здесь в тексте |
б | Вставьте клавишу возврата сюда, в текст |
п | Разрыв строки в этом месте текста |
р | Вставьте возврат каретки здесь в тексте |
е | Вставьте разрыв страницы в этом месте текста |
' | Вставьте одинарные кавычки здесь в тексте |
" | Вставьте двойные кавычки здесь в тексте |
\ | Вставьте обратную косую черту в этом месте текста |
Когда оператор печати встречает escape-последовательность, компилятор интерпретирует ее правильно.
public class Test { public static void main(String args[]) { System.out.println("She said "Hello!" to me."); } }
Результаты компиляции и запуска приведенного выше примера следующие:
She said "Hello!" to me.
Ниже приведены методы класса символов:
серийный номер | Методы и описание |
---|---|
1 | isLetter(), является ли это буквой |
2 | isDigit(), является ли это числовым символом |
3 | isWhitespace(), является ли это пробелом |
4 | isUpperCase() Это заглавная буква? |
5 | isLowerCase(), являются ли строчные буквы |
6 | toUpperCase() определяет форму букв в верхнем регистре. |
7 | toLowerCase() определяет строчную форму букв |
8 | toString() возвращает строковую форму символа. Длина строки равна всего 1. |
public static boolean isUpperCase(char ch): Определяет, является ли данный символ символом верхнего регистра;
public static boolean isLowerCase(char ch): Определяет, является ли данный символ строчной буквой;
public static boolean isDigit(char ch): Определяет, является ли данный символ числовым;
Логическое значение в этих трех предложениях означает, что возвращаемое значение после использования этих трех методов имеет логический тип.
public class Java { public static void main(String[] args) { Character ch = new Character('X'); System.out.println(Character.isUpperCase(ch)); //Character.isUpperCase(ch) 用于判断括号里的字母是否为大写 System.out.println(Character.isLowerCase(ch)); //Character.isLowerCase(ch) 用于判断括号里的字母是否为小写 System.out.println(Character.isDigit(ch)); //Character.isDigit(ch) 用于判断括号里的内容是否为数字 } }
Результат работы:
true false false
Полный список методов см. в спецификации API java.lang.Character.