文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。
面试官:介绍一下Java的数据类型
参考答案:
Java
数据类型包括基本数据类型和引用数据类型两大类。
基本数据类型有8个,可以分为4个小类,分别是整数类型(byte/short/int/long
)、浮点类型(float/double
)、字符类型(char
)、布尔类型(boolean
)。其中,4个整数类型中,int类型最为常用。2个浮点类型中,double最为常用。另外,在这8个基本类型当中,除了布尔类型之外的其他7个类型,都可以看做是数字类型,它们相互之间可以进行类型转换。
引用类型就是对一个对象的引用,根据引用对象类型的不同,可以将引用类型分为3类,即数组、类、接口类型。引用类型本质上就是通过指针,指向堆中对象所持有的内存空间,只是Java语言不再沿用指针这个说法而已。
扩展阅读
对于基本数据类型,你需要了解每种类型所占据的内存空间,面试官可能会追问这类问题:
byte
:1字节(8位),数据范围是 -2^7 ~ 2^7-1。short
:2字节(16位),数据范围是 -2^15 ~ 2^15-1。int
:4字节(32位),数据范围是 -2^31 ~ 2^31-1。long
:8字节(64位),数据范围是 -2^63 ~ 2^63-1。float
:4字节(32位),数据范围大约是 -3.4_10^38 ~ 3.4_10^38。double
:8字节(64位),数据范围大约是 -1.8_10^308 ~ 1.8_10^308。char
:2字节(16位),数据范围是 \u0000 ~ \uffff。boolean
:Java规范没有明确的规定,不同的JVM有不同的实现机制。
对于引用数据类型,你需要了解JVM的内存分布情况,知道引用以及引用对象存放的位置,详见JVM部分的题目。