前言
我印象中char变量不能输出为中文,今天敲代码发现char变量虽然不能直接存中文,但是可以输出,理解错误,记录一下。
一、char类型
char类型是一个单一的 16 位 Unicode 字符;
- 最小值是 \u0000(即为 0);
- 最大值是 \uffff(即为 65535);
char 数据类型可以储存任何字符;
例子:char letter = ‘A’;。
在Unicode中:汉字“字”对应的数字是23383(十进制),十六进制表示为5B57。
在Unicode中,我们有很多方式将数字23383表示成程序中的数据,包括:UTF-8、UTF-16、UTF-32。
UTF是“Unicode Transformation Format”的缩写,可以翻译成Unicode字符集转换格式,即怎样将Unicode定义的数字转换成程序数据。
二、代码
代码如下:
public class CharTest {
public static void main(String[] args) {
char[] chars = new char[2];
char a1 = 0x6522;
char a2 = 0x4132;
System.out.println(a1);
System.out.println(a2);
chars[0] = a1;
chars[1] = a2;
System.out.println("char数组长度: "+chars.length);
System.out.println("char1: "+chars[0]);
System.out.println("char2: "+chars[1]);
System.out.println("char数组拼接: "+chars[0]+'X'+chars[1]);
System.out.println("char数组相加: "+chars[0]+chars[1]);
System.out.println("直接输出char数组: "+chars);
}
}
运行截图:
附表:Unicode字符列表
附表来源于网络
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。