char是Java中占2字节的无符号整数型基本类型,取值范围为\u0000~\uFFFF(0~65535),用单引号赋值,支持字符字面量、Unicode转义、数值及转义字符;可与int互转,常用于大小写转换和Character工具类操作。
Java 中的 char 是一种基本数据类型,专门用来表示单个字符,占 2 个字节(16 位),取值范围是 Unicode 编码的 \u0000 到 \
uFFFF(即 0~65535)。它本质是无符号整数,所以既能当字符用,也能当数字用。
必须用英文单引号包裹,且只能是一个字符(包括中文、标点、字母、数字等):
char c = 'A';、char ch = '中';
\u 开头 + 4 位十六进制数,如 char pi = '\u03C0';(π)、char tm = '\u2122';(™)char c = 65; 等价于 'A',char d = 0x41; 也一样'\n'(换行)、'\t'(制表)、'\\'(反斜杠)、'\''(单引号)、'\"'(双引号)因为 char 底层就是 16 位无符号整数,转换非常自然:
int code = 'a'; → 得到 97char c = (char)97; → 得到 'a'(char)(c - 32);大写变小写 → (char)(c + 32)(仅限英文字母)容易出错的地方要特别留心:
"a" 是字符串,不是 char,char x = "a"; 编译报错char c = ''; 不合法;也不能放多个字符,'ab' 或 '\n\t' 都不行\uXXXX)在代码解析阶段就被处理,所以不能出现在注释里,否则可能破坏语法char c = '李'; 合法,对应 Unicode 码如 \u674E
单独的 char 不能拼接,但可以参与字符串构建或工具类操作:
String s = String.valueOf('X'); 或 String s = Character.toString('X');
Character.isLetter('8') 返回 false,Character.isDigit('8') 返回 trueCharacter.toUpperCase('k') → 'K',比手动加减更安全(兼容非 ASCII 字符)char a = 'm', b = 'M'; System.out.println(a == b); → false(区分大小写)基本上就这些。char 看似简单,但理解它“既是字符又是数”的双重身份,才能用得稳、转得准、避得开坑。