char 基本类型
字符与 Unicode
char 基本类型 是 CoddyKit 上的免费 Java Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Java Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Java Academy 课程共包含 4 节课。
什么是字符
char 是 Java 的一种基本类型,用于存放单个字符,例如字母、数字或符号。
字符值需要写在单引号之间:'A'、'7' 或 '?'。双引号会创建一个 String,因此 "A" 不是字符。
char grade = 'A';
char symbol = '#';打印字符
您可以将字符存储在变量中,并像打印其他值一样打印它。
这里的完整程序声明了一个字符并将其打印出来。请注意,字母两侧使用的是单引号。
public class Main {
public static void main(String[] args) {
char first = 'J';
System.out.println(first);
}
}字符本质上是数字
在底层,每个字符都有一个来自 Unicode 表的数字编码。字母 'A' 的编码是 65,而 'a' 的编码是 97。
如果将字符赋给 int,Java 会提供对应的编码数字。
public class Main {
public static void main(String[] args) {
char c = 'A';
int code = c;
System.out.println(code);
}
}对字符进行数学运算
由于字符本质上是数字,您可以对它进行算术运算。将 'A' 加 1 会移动到下一个编码,也就是 'B'。
若要再次将结果视为字母,请将结果转换回 char。
public class Main {
public static void main(String[] args) {
char a = 'A';
char next = (char) (a + 1);
System.out.println(next);
}
}数字字符与数字的区别
请注意:字符 '5' 并不是数字 5。字符 '5' 的 Unicode 编码是 53。
要将数字字符转换为真正的数值,请从中减去 '0'。这是可行的,因为数字字符的编码是按顺序排列的。
public class Main {
public static void main(String[] args) {
char d = '5';
int value = d - '0';
System.out.println(value);
}
}特殊转义字符
某些字符需要使用反斜杠转义来书写。'\n' 表示换行,'\t' 表示制表符,而 '\'' 表示单引号。
尽管转义字符在代码中使用两个符号,它仍然代表单个字符。
char tab = '\t';
char quote = '\'';
char newline = '\n';比较字符
您可以使用 ==、< 和 > 比较字符,因为这些运算符比较的是字符底层的数字。
由于 'a' 是 97,'b' 是 98,因此表达式 'a' < 'b' 的结果为 true。
public class Main {
public static void main(String[] args) {
char x = 'a';
char y = 'b';
System.out.println(x < y);
}
}在 switch 中使用字符
字符非常适合在 switch 语句中使用,以便在不同 case 之间进行选择。
每个 case 标签都是用单引号括起来的字符。这对于菜单选项或评分很方便。
public class Main {
public static void main(String[] args) {
char grade = 'B';
switch (grade) {
case 'A': System.out.println("Great"); break;
case 'B': System.out.println("Good"); break;
default: System.out.println("Keep going");
}
}
}字符的默认值
如果字符字段没有被赋值,其默认值就是编码为 0 的空字符,写作 '\u0000'。
方法中的局部变量没有默认值,因此必须先为字符赋值才能使用,否则代码将无法编译。
char letter;
letter = 'Z';
System.out.println(letter);Unicode 转义
您可以使用 Unicode 编码来书写任意字符,格式是 '\u' 后跟四位十六进制数字。
例如,'\u0041' 就是字母 'A'。这样可以包含难以直接输入的字符。
public class Main {
public static void main(String[] args) {
char a = '\u0041';
System.out.println(a);
}
}字符的取值范围
字符是无符号的 16 位值,因此可以存放从 0 到 65535 的编码,不能为负数。
这个范围足以容纳 Unicode 中许多世界语言的字母、数字和字符。
public class Main {
public static void main(String[] args) {
char max = (char) 65535;
int code = max;
System.out.println(code);
}
}快速检查
测试您对字符基本类型的理解。
回顾
char 在单引号中存放一个字符,其底层由一个 Unicode 数字表示。
您可以对字符进行数学运算和比较,还可以通过减去 '0' 将数字字符转换为数字。转换回 char 后,编码就会变成可见字符。
常见问题解答
「char 基本类型」课时是免费的吗?
是的 — 「char 基本类型」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Java Academy 课程的其余内容,请升级到 CoddyKit PRO。 Java Academy 课程共包含 4 节课。
「char 基本类型」这节课中我会学到什么?
字符与 Unicode 你通过在浏览器中直接运行的动手代码来练习 Java Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Java Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Java Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「char 基本类型」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Java Academy 课中编写并运行代码吗?
能。每节 Java Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。