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