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);
    }
}

运行截图:

Java中关于char类型变量能够输出中文的问题_第1张图片

附表:Unicode字符列表

Java中关于char类型变量能够输出中文的问题_第2张图片

附表来源于网络

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(Java中关于char类型变量能够输出中文的问题)