1.首先上代码示例解析:
-- Java 代码示例 ---
public class Testchar {public static void main(String[] args) {//char c1 = '1';//char c2 = '2';//System.out.println(c1); // 正常输出 c1 变量对应的值为1。//System.out.println(c1 + c2); // 输出99(1->49 , 2->50) ,这种写法会找到unicode码点 所对应的ASCII 值,再两者进行相加,char 的本质是一个整数。char c3 = 1; // 注意此时 char 定义的变量的值都没有加引号。char c4 = 2;//System.out.println(c3); //控制台没有明显输出,因为该字符属于 控制字符。/* 在 Java 里,char 属于基本数据类型,其用来表示单个 Unicode 字符。char 变量既能用单引号包裹的字符来赋值,也可以用对应的 Unicode 码点值来赋值。在你给出的代码里,char c3 = 1; 是把整数 1 赋值给 char 类型的变量 c3。这里的 1 代表的是 Unicode 码点为 1 的字符。而 Unicode 码点为 1 的字符属于控制字符,被称作 “标题开始(Start of Heading,SOH)”,它没有可视化的表示形式。当你执行 System.out.println(c3); 时,输出的就是 Unicode 码点为 1 对应的控制字符,在控制台通常不会有可见的输出,也许会引发一些特殊的控制行为,不过大多数情况下可能没有明显的效果。*/System.out.println(c3 + c4); // 输出3/*在 Java 中,char 类型本质上是一个 16 位无符号整数,它可以表示 Unicode 字符集中的字符,同时也可以作为整数参与算术运算。当你执行 char c3 = 1; 和 char c4 = 2; 时,实际上是将 Unicode 码点为 1 和 2 的字符分别赋值给了 c3 和 c4。在 Java 里,字符在底层是以其对应的 Unicode 码点值(整数)形式存储的。接着,当你使用 System.out.println(c3 + c4); 进行输出时,+ 运算符在这里执行的是算术加法操作。Java 会自动将 c3 和 c4 这两个 char 类型的变量提升为 int 类型(这是 Java 中算术运算的类型提升规则),然后将它们所代表的整数相加,也就是 1 + 2,结果为 3,所以最终输出的就是 3。*/}
}
2.附 :char 字符类型知识扩展
1.基本概念:char 属于基本数据类型,它用于表示单个字符。在 Java 里,char 类型使用 16 位的无符号整数来存储 Unicode 字符集中的字符,这意味着它能够表示范围为 0 到 65535 的字符。
赋值方式
char 类型变量可以通过以下两种常见方式赋值:
使用单引号包裹字符:你可以直接用单引号把一个字符括起来,然后赋值给 char 类型的变量。
--java--char c = 'A';使用 Unicode 码点:你也能够使用对应的 Unicode 码点值来为 char 类型变量赋值。
--java--char c = '\u0041'; // Unicode 码点 '\u0041' 表示字符 'A'2.与整数的关系:虽然 char 是字符类型,但在底层它以整数形式存储,因此可以像整数一样参与算术运算。在进行算术运算时,char 类型会被自动提升为 int 类型。
--java--char c = 'A';
int num = c + 1;
System.out.println(num); // 输出 66,因为 'A' 的 Unicode 码点是 653.应用场景:char 类型常用于处理文本数据,比如字符比较、字符串处理等。
--java--char firstChar = "Hello".charAt(0);
System.out.println(firstChar); // 输出 'H'总之,char 是一种专门用于表示单个字符的数据类型,在处理文本和字符操作时非常有用。