字符

字符 属于 Java

16 个练习

关于 字符

Java 的char基本类型用 16 位来表示单个 Unicode 字符。

Note

char类型基于最早的 Unicode 规范,该规范用 16 位来表示字符。 这足以覆盖大多数常见字母,涵盖 0x0000 到 0xFFFF 范围内的字符。 此后,该规范把可用字符的范围扩展到了 0x01FFFF。

多个char可以组成一个字符串,比如"word",char也可以单独处理。 char字面量用单引号括起来(例如'A')。

char lowerA = 'a';
char upperB = 'B';

获取String中的char

String.toCharArray方法会把字符串的字符作为数组返回。 正如数组中提到的,你可以用for循环来遍历这个数组。

String text = "Hello";
char[] asArray = text.toCharArray();

for (char ch: asArray) {
    System.out.println(ch);
}

// Outputs:
// H
// e
// l
// l
// o

Character类

有很多内置的库方法可以用来检查和操作char。 它们是java.lang.Character类的静态方法。 下面是一些例子:

Character.isWhitespace(' ');    // true
Character.isWhitespace('#');    // false

Character.isLetter('a');        // true
Character.isLetter('3');        // false

Character.isDigit('6');         // true
Character.isDigit('?');         // false
Note

Character 类中的一些方法有重载,因此既可以接收char,也可以接收int。 例如,isDigit有一个重载接受char,另一个接受int。 前面提到过,char类型只能表示 0x0000 到 0xFFFF 范围内的字符。 而int可以表示所有字符,所以才有了这些接收int的重载。

把char添加到String中

可以用+运算符把char添加到String中。

'a' + " banana"     // => "a banana"
"banana " + 'a'     // => "banana a"
Caution

注意,_不要_用+把两个char连接成一个String! 用这种方式把两个char相加得到的是int,不是String! 例如:

'b' + 'c';
// => 197 (not the String "bc")

这是因为 Java 会把char提升为int(参见Java Language Specification的4.2 Primitive Types and Values )。

不过,当需要添加的字符很多时,改用StringBuilder会更高效:

StringBuilder builder = new StringBuilder();
builder.append('a');
builder.append('b');
builder.append('c');

String builtString = builder.toString();
// => abc
通过 GitHub 编辑 该链接会在新窗口或标签页中打开

学习 字符