A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Heroe

中级黑马

  • 黑马币:41

  • 帖子:73

  • 精华:0

© Heroe 中级黑马   /  2015-6-1 22:50  /  504 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Heroe 于 2015-6-2 18:10 编辑
  1. int[] arr={1,2,3,'我','b'};
复制代码

int类型的数组为什么能存放汉字和字符?

10 个回复

倒序浏览
因为在java中所有的Char字符都有对应的ASCII码,ASCII码是一个整数值
回复 使用道具 举报
char类型在Java中有对应的ASCII码值
回复 使用道具 举报
相对应的ASCII码值
回复 使用道具 举报
char类型存放的是相应的Unicode编码吗?(不是ASCII码不包含中文)。其可自动类型提升为int类型
回复 使用道具 举报
有对应的ASCII码值啊。她是整数
回复 使用道具 举报
int是Integer(整数)的意思,是4个字节(Byte),在javascript中汉字是unicode
回复 使用道具 举报
int是Integer(整数)的意思,在java中占4个字节(就是可以表示值为2的-32次方~2的32次方-1的整数),汉字在java中是Unicode编码(UTf-8,UTF-16,UTF-32等,java貌似用的UTF-16),Unicode编码兼容ASCII(就是ASCII字符依旧是原来的字符值),所以字符‘b’依旧是一个字节,就是ASCII数值98,但是‘我’可能是两个字节甚至三个字节,所以就相当于两个或三个数,没法存储在int的一个位置里
回复 使用道具 举报
int[]数组中能存放汉字,那是因为单个中文汉字只占两个字节(2byte)
回复 使用道具 举报
字符是属于char类型,是占两位。
在执行计算时候自动类型提升了。
就例如:int num = '我'。就是自动类型提升
回复 使用道具 举报
int 是四位的啊,汉字就UTF-8来说就2为,别说int能装汉字啊,char都能装汉字啊。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马