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

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

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

}

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值