Char类型相加为什么出现奇怪的字符?

    技术2022-07-11  64

    Char类型相加为什么出现奇怪的字符?

    示例代码:

    public class Test { public static void main(String[] args) { char a = 1; char b = 5; char c = (char) (a + b); System.out.println(c); } }

    现象: 控制台输出了一个奇怪的符号?这是为什么? 原因:

    char类型是可以进行运算的,是因为char在ASCII表中有对应的数值。

    程序中结果输出的数值应该为6,对应的字符是♤。ASCII表中的0-31数值对应的字符都是非打印字符,控制台无法输出对应的字符所以才出现特殊符号。 比如33,34这类对应的可打印字符在控制台可以输出;

    public static void main(String[] args) { char a3 = 33; char a4 = 34; System.out.println(a3); System.out.println(a4); }

    Processed: 0.012, SQL: 9