我用强制转换写了 char a = (char) 888888; 出来的是汉字,这是怎么回事?

我用强制转换写了 char a = (char) 888888; 出来的是汉字,这是怎么回事?

请尽量清晰完善地描述问题,以便大家给予专业的回复。

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

char是两个字节16位(0~65535),一个汉子正好也是两个字节16位,所以char是可以用来存放汉子的,如果解决了你的疑惑,请采纳,祝学习愉快~

  • 法幢 提问者 #1
    非常感谢!
    2017-05-01 22:52:03
  • 不是说ASCLL码不能表示汉字,汉字都是用Unicode编码吗?
    2017-06-16 14:18:10
  • Java中的char是Unicode编码,Unicode编码占两个字节正好可以存一个汉字,是汉字不是汉子~~
    2017-06-16 14:29:09
戴耳环的鱼 2017-11-30 22:42:47

字符型也可以使用十六进制表示,范围是   \u0000  -   \uFFFF,

其中前256个字符和ASCII一一对应,剩下的就是表示汉子、日语、什么的各种字符了。

云原子 2017-05-27 21:43:10

能存放妹子吗

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师