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