文档

Java™ 教程-Java Tutorials 中文版
字符
Trail: Learning the Java Language
Lesson: Numbers and Strings

字符

大多数情况下,如果使用单个字符值,则将使用基本 char 类型。例如:

char ch = 'a'; 
// Unicode for uppercase Greek omega character
char uniChar = '\u03A9';
// an array of chars
char[] charArray = { 'a', 'b', 'c', 'd', 'e' };

但是,有时候需要使用 char 作为对象 - 例如,作为期望对象的方法参数。Java 编程语言提供了一个 wrapper (包装) 类,为此目的将 char "包装" 在 Character 对象中。Character 类型的对象包含单个字段,其类型为 char。这个 Character 类还提供了许多用于操作字符的有用类(即静态)方法。

你可以使用 Character 构造函数创建 Character 对象:

Character ch = new Character('a');

在某些情况下,Java 编译器还将为你创建 Character 对象。例如,如果将基本类型 char 传递给需要对象的方法,则编译器会自动将 char 转换为 Character。则此功能称为 autoboxing (自动装箱) — 或者如果反向转换则称为 unboxing (拆箱)。有关自动装箱和拆箱的详细信息,请参阅 Autoboxing and Unboxing


注意: Character 类是不可变的,因此一旦创建,就无法更改 Character 对象。

下表列出了 Character 类中一些最有用的方法,但并非详尽无遗。有关此类中所有方法的完整列表(有超过 50 个),请参阅 java.lang.Character API 规范。

Character 类中的有用方法
方法 描述
boolean isLetter(char ch)
boolean isDigit(char ch)
分别确定指定的 char 值是字母还是数字。
boolean isWhitespace(char ch) 确定指定的 char 值是否为空格。
boolean isUpperCase(char ch)
boolean isLowerCase(char ch)
分别确定指定的 char 值是大写还是小写。
char toUpperCase(char ch)
char toLowerCase(char ch)
返回指定 char 值的大写或小写形式。
toString(char ch) 返回表示指定字符值的 String 对象 — 也就是说,单个字符的字符串。

转义序列

以反斜杠(\)开头的字符是 escape sequence (转义序列),对编译器具有特殊含义。下表显示了 Java 转义序列:

转义序列
转义序列 描述
\t 此时在文本中插入 tab。
\b 此时在文本中插入退格。
\n 此时在文本中插入换行符。
\r 此时在文本中插入回车符。
\f 此时在文本中插入换页符。
\' 此时在文本中插入单引号字符。
\" 此时在文本中插入双引号字符。
\\ 此时在文本中插入反斜杠字符。

在 print 语句中遇到转义序列时,编译器会相应地解释它。例如,如果要在引号内放置引号,则必须在内部引号上使用转义序列 \"。要打印句子

She said "Hello!" to me.

你应该写

System.out.println("She said \"Hello!\" to me.");

Previous page: Questions and Exercises: Numbers
Next page: Strings