在Java语言中,字符串“Java程序员”在内存中所占用的字节数是:()

这题是什么答案啊?求大神解释

CSDN关于该问题的解答

你要分清几个概念,字符串指String,内部由char数组实现
问字符串占用的大小,就是char数组占用的大小,就是char占用的大小 * 数组长度
数组长度是一定的,你觉得char占用的大小和字符编码有关系吗?
当然是无关的,char占用2个字节,所以这里就是14字节。

至于你说的占用大小要根据字符编码来决定,这个情况是有的,但放在这里是错误的,字符编码嘛就是字符编码方式,你要把字符进行编码了才有字符编码一说,所以比如你把“java程序员”进行GBK编码,那结果就是10字节的byte数组,进行UTF-8编码,就是13字节的byte数组等等,ascii字符集内的字符都是单字节编码的,中文几乎所有的都在4E00-9FBF:CJK 统一表意符号区,这个区间UTF-8采用3字节编码

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-11-03
英文字母每个1字节,汉子是2个字节。
所以是10个字节

望采纳追问

在Java里也是这样的吗

追答

= =
你问的就是java
难道我回答你C语言?

并且这个字节数是统一的。
只是各语言的数据类型大小不一。

快点采纳

追问

这题我找到答案了,只不过有点坑!

//下面是答案给其他被坑的网友
在java中一个汉字或者字母占用的字节数2字节

在Java语言中,字符串“Java程序员”在内存中所占用的字节数是14字节

Java里面字符串用的都是Unicode编码,不管任何字符,

一个字母或者一个汉字都是一个char类型的,

一个char类型在Unicode码里面就占用2个字节。是14字节

本回答被提问者和网友采纳
第2个回答  2017-12-25
14个字节,之前分析完全是错误的
第3个回答  2018-03-30
10个字节。
相似回答