# 字符

> 原文： [https://docs.oracle.com/javase/tutorial/java/data/characters.html](https://docs.oracle.com/javase/tutorial/java/data/characters.html)

大多数情况下，如果使用单个字符值，则将使用原始`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 编程语言提供了一个 _ 包装器 _ 类，为此目的“包装”`Character`对象中的`char`。 `Character`类型的对象包含单个字段，其类型为`char`。这个 [Character](https://docs.oracle.com/javase/8/docs/api/java/lang/Character.html) 类还提供了许多用于操作字符的有用类（即静态）方法。

您可以使用`Character`构造函数创建`Character`对象：

```
Character ch = new Character('a');

```

在某些情况下，Java 编译器还会为您创建一个`Character`对象。例如，如果将原始`char`传递给需要对象的方法，编译器会自动将`char`转换为`Character`。如果转换采用另一种方式，此功能称为 _ 自动装箱 _ - 或 _ 拆箱 _。有关自动装箱和拆箱的详细信息，请参阅[自动装箱和拆箱](autoboxing.html)。

* * *

**Note:** The `Character` class is immutable, so that once it is created, a `Character` object cannot be changed.

* * *

下表列出了`Character`类中一些最有用的方法，但并非详尽无遗。有关此类中所有方法的完整列表（有超过 50 个），请参阅 [java.lang.Character](https://docs.oracle.com/javase/8/docs/api/java/lang/Character.html) API 规范。

<caption style="font-weight: bold">Useful Methods in the `Character` Class</caption>
| 方法 | 描述 |
| --- | --- |
| `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`对象 - 即一个字符的字符串。 |

## 转义序列

前面带有反斜杠（\）的字符是 _ 转义序列 _，对编译器有特殊含义。下表显示了 Java 转义序列：

<caption style="font-weight: bold">Escape Sequences</caption>
| 逃脱序列 | 描述 |
| --- | --- |
| `\t` | 此时在文本中插入一个选项卡。 |
| `\b` | 此时在文本中插入退格。 |
| `\n` | 此时在文本中插入换行符。 |
| `\r` | 此时在文本中插入回车符。 |
| `\f` | 此时在文本中插入换页。 |
| `\'` | 此时在文本中插入单引号字符。 |
| `\"` | 此时在文本中插入双引号字符。 |
| `\\` | 此时在文本中插入反斜杠字符。 |

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

```
She said "Hello!" to me.

```

你会写的

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

```