为什么一样的值 int 和 char 类型会打印出不同的结果

oldfeel 发布于 2015/02/04 13:22
阅读 770
收藏 0
int i = 0xe522;
char c = 0xe522;
System.out.println(i);
System.err.println(c);

打印结果

58658

加载中
0
Ivnoidea
Ivnoidea
char是几个字节
oldfeel
oldfeel
2个.
0
xiuj
xiuj
char 2 ,int 4
0
Cobbage
Cobbage
给你个不误导的答案,给俺个最佳来!!!
----------------------------------------------------------------------------------------------
理论按照字符来:char是2个字节的,十六进制表示一位 需要4个二进制 也就是说容纳0xFFFF
                                                      所以你这个不存在溢出截取问题, 但是结果为啥没输出?
                                                       因为是char类型的转换为字符了,这就是这个数字对应的字符。
                                                       可以换个其他的字符试试
--------------------------------------------------------------------------------------------------
0
r
rang
int 你放数字打印出来放的就是数字,char 你放数字 打印出来的是这个数字在ASCII中对应的字符
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部
返回顶部
顶部