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

本文探讨了Java中char类型相加的现象,解释了为何会出现奇怪的字符输出。通过示例代码展示了char类型运算的原理,即char在ASCII表中的数值相加后的结果可能对应非打印字符,从而在控制台上显示为特殊符号。
1754

被折叠的 条评论
为什么被折叠?



