Java中char是16位Unicode字符基本类型,用单引号定义,支持转义与ASCII/Unicode数值赋值,运算时自动提升为int,不可用双引号或空/多字符字面量。

Java 中的 char 是基本数据类型,用于表示单个 16 位 Unicode 字符,定义时必须用单引号括起来,不能用双引号(双引号是字符串)。
char 的定义方式
定义 char 变量需指定类型、变量名,并赋一个单字符字面量:
- 直接初始化:char c = 'A';
- 先声明后赋值:char ch; ch = '中';
- 支持 Unicode 转义:char emoji = '\u2605'; // ★
- 也可用 ASCII 数值(0–65535):char digit = 57; // 对应字符 '9'
char 的输出方法
可以直接用 System.out.print() 或 System.out.println() 输出:
- System.out.println('X'); → 输出:X(不带引号)
- System.out.println("字符是:" + 'Z'); → 输出:字符是:Z(自动转为字符显示)
- 注意:System.out.println('a' + 'b'); 输出的是 195(ASCII 相加),不是 "ab" —— 因为 char 参与算术运算会自动提升为 int
常见错误提醒
- 写成 char c = "A"; ❌(双引号是 String,类型不匹配)
- 写成 char c = ''; ❌(空字符字面量非法)
- 写成 char c = 'AB'; ❌(只允许一个字符,多字符编译报错)
- 混淆 char 和 String:'a' 是字符,"a" 是长度为 1 的字符串,二者类型完全不同
小技巧:查看字符的数值或 Unicode
可利用 char 自动转 int 的特性快速查编码:
- System.out.println((int)'0'); → 输出 48
- System.out.println((int)'你'); → 输出 20320(Unicode 码点)
- System.out.println('\u4f60'); → 输出 你(\u 后跟 4 位十六进制 Unicode)
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











