我们都知道数据会在程序中占有一定的内存,有时候因为一些内存的限制,还会使一些数据无法保存其中。这里我们就java里面的一个基础类型进行讨论。先就java中所有的基本类型为大家进行展示,然后围绕着char占用字节的情况进行一个代码的讨论,帮助大家理论整个探究的过程。
本教程操作环境:windows7系统、java10版,DELL G3电脑。
1.Java基本类型占用的字节数
1字节: byte , boolean
2字节: short , char
4字节: int , float
8字节: long , double
注:1字节(byte)=8位(bits)
附录:
1、编码与中文:
Unicode/GBK: 中文2字节
UTF-8: 中文通常3字节,在拓展B区之后的是4字节
综上,中文字符在编码中占用的字节数一般是2-4个字节。
测试代码:
/* System.out.println("中".getBytes("UTF-8").length); ----> 6 System.out.println("中中".getBytes("UTF-8").length); ----> 9 System.out.println("中".getBytes("GBK").length); ----> 3 System.out.println("中中".getBytes("GBK").length); ----> 6 不好意思,我也不能解释,为什么打印的结果是这样的。大牛飘过还请指摘。 */
2.char在Java中的字节数
char在Java中占用2字节。
Java编译器默认使用Unicode编码,因此2字节可以表示所有字符。
测试代码
char a= (char) Integer.MAX_VALUE; System.out.println((int)a);
以上就是Java中char字节的占用分析,在学完整篇文章我们可以明确,char占用的字节有两个,具体的探究原理已经展示在上方,没看懂的可以多学几遍。