Java中关于char类型变量能够输出中文的问题
作者:杭州打工人
这篇文章主要介绍了Java中关于char类型变量能够输出中文的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
前言
我印象中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字符列表
附表来源于网络
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。