黑马程序员技术交流社区

标题: 关于数组问题求解 [打印本页]

作者: Heroe    时间: 2015-6-1 22:50
标题: 关于数组问题求解
本帖最后由 Heroe 于 2015-6-2 18:10 编辑
  1. int[] arr={1,2,3,'我','b'};
复制代码

int类型的数组为什么能存放汉字和字符?
作者: wsdlshu    时间: 2015-6-2 00:10
因为在java中所有的Char字符都有对应的ASCII码,ASCII码是一个整数值
作者: 黯然残影    时间: 2015-6-2 00:55
char类型在Java中有对应的ASCII码值
作者: F灬灬    时间: 2015-6-2 13:16
相对应的ASCII码值
作者: 山崩地裂    时间: 2015-6-2 14:06
char类型存放的是相应的Unicode编码吗?(不是ASCII码不包含中文)。其可自动类型提升为int类型
作者: Mr7952    时间: 2015-6-2 14:59
有对应的ASCII码值啊。她是整数
作者: jife94    时间: 2015-6-2 15:04
int是Integer(整数)的意思,是4个字节(Byte),在javascript中汉字是unicode
作者: jife94    时间: 2015-6-2 15:13
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的一个位置里
作者: Jfccnws    时间: 2015-6-9 00:12
int[]数组中能存放汉字,那是因为单个中文汉字只占两个字节(2byte)
作者: 嘎路的米    时间: 2015-6-9 08:18
字符是属于char类型,是占两位。
在执行计算时候自动类型提升了。
就例如:int num = '我'。就是自动类型提升
作者: micro_hx    时间: 2015-6-9 14:40
int 是四位的啊,汉字就UTF-8来说就2为,别说int能装汉字啊,char都能装汉字啊。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2