【Java核心面试宝典】Day4、基本数据结构常见面试题汇总

Hello,你好呀,我是灰小猿!一个超会写bug的程序猿

用坚持缔造技术、用指尖敲动未来!

和很多小伙伴们一样,我也是一名奔波在Java道路上的“创造者”。也想靠技术来改变未来,改变世界!因为我们坚信每一次敲动键盘都能让生活变得更智能、世界变得更有趣!

在此专栏《Java核心面试宝典》记录我们备战梦想的【day 4】

今天来和大家分享在Java中有关基本数据结构相关的面试题,这一类问题因为比较基础,其实有时候就很容易被我们忽视掉,但是这也不妨碍面试官对我们的考察呀!

一、Java的数据类型有哪些?

很多人都会在这个看似简单的问题中入坑,一说到数据类型,很多人第一时间想到的就是int、char等类型,但是我们仔细看题就会发现,题中所问的问题是数据类型,而不是基本数据类型。

数据类型有两种,分别是“基本数据类型”“引用数据类型”

基本数据类型包括的内容如下表:

《【Java核心面试宝典】Day4、基本数据结构常见面试题汇总》

而引用数据类型包括的是三种:类、接口、数组

那么在Java中为什么会有“基本数据类型”和“引用数据类型”?

原因是因为引用类型在堆里,基本类型在栈里,栈空间小且连续,往往会被放在缓存。引用类型的高速缓存率高且要多一次解引用。 而且对象还要再多储存一个对象头,对基本数据类型来说空间浪费率太高。

二、什么是数据类型直接量?

直接量是在程序中直接出现的常量值。

将整数类型的直接量赋值给整数类型的变量时,只要直接量没有超出变量的取值范围,即可直接赋值,如果直接量超出了变量的取值范围,则会导致编译错误。

整数类型的直接量默认是 int 类型,如果直接量超出了 int 类型的取值范围,则必须在其后面加上字母 L 或 l,将直接量显性声明为 long 类型,否则会导致编译错误。

浮点类型的直接量默认是 double 类型,如果要将直接量表示成 float 类型,则必须在其后面加上字母 F 或 f。将 double 类型的直接量赋值给 float 类型的变量是不允许的,会导致编译错误。

《【Java核心面试宝典】Day4、基本数据结构常见面试题汇总》

三、基本数据类型之间是如何转换的?

因为我们在开发有时需要把不同类型的值混合运算,因此需要对数据类型进行转换。

对于数字类型转换. 不同的数字类型对应不同的范围,按照范围从小到大的顺序依次是:byte、short、int、long、float、double。

将小范围类型的变量转换为大范围类型称为拓宽类型,不需要显性声明类型转换。

将大范围类型的变量转换为小范围类型称为缩窄类型,必须显性声明类型转换,否则会导致编译错误。

而对于字符类型与数字类型之间的转换。 将数字类型转换成字符类型时,只使用整数的低 16 位(浮点数类型将整数部分转换成字符类型)。

将字符类型转换成数字类型时,字符的统一码转换成指定的数值类型。如果字符的统一码超出了转换成的数值类型的取值范围,则必须显性声明类型转换。

同时注意:布尔类型不能转换成其他基本数据类型,其他基本数据类型也不能转换成布尔类型。

关于基本数据类型之间的转换我之前写过一篇总结,小伙伴们可以看这里: Java数值型和字符串互转锦集【收藏备用】

每日总结

今天关于基本数据结构相关的面试中,我们需要知道数据类型是分为“引用数据类型”和“基本数据类型”的,要记住这两种类型的内容和分类原则。知道是不同类型之间是如何转换的。

关于基本数据结构的内容就总结这些,如果小伙伴们有遇到其他相关的面试题,欢迎在评论区留言提出,我会把大家提出的总结到文章内,欢迎小伙伴们一起评论区打卡学习!小伙伴们可也在左方加我好友一起探讨学习!

我是灰小猿,我们下期见!

    原文作者:灰小猿
    原文地址: https://blog.csdn.net/weixin_44985880/article/details/119273875
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞