前端开发的核心技术是什么(web前端核心技术)
528
2022-05-29
Hello,你好呀,我是灰小猿!一个超会写bug的程序猿!
用坚持缔造技术、用指尖敲动未来!
和很多小伙伴们一样,我也是一名奔波在Java道路上的“创造者”。也想靠技术来改变未来,改变世界!因为我们坚信每一次敲动键盘都能让生活变得更智能、世界变得更有趣!
在此专栏《Java核心面试宝典》记录我们备战梦想的【day 4】!
今天来和大家分享在Java中有关基本数据结构相关的面试题,这一类问题因为比较基础,其实有时候就很容易被我们忽视掉,但是这也不妨碍面试官对我们的考察呀!
一、Java的数据类型有哪些?
很多人都会在这个看似简单的问题中入坑,一说到数据类型,很多人第一时间想到的就是int、char等类型,但是我们仔细看题就会发现,题中所问的问题是数据类型,而不是基本数据类型。
数据类型有两种,分别是“基本数据类型”和“引用数据类型”
基本数据类型包括的内容如下表:
而引用数据类型包括的是三种:类、接口、数组
那么在Java中为什么会有“基本数据类型”和“引用数据类型”?
原因是因为 引用类型在堆里,基本类型在栈里,栈空间小且连续,往往会被放在缓存。引用类型的高速缓存率高且要多一次解引用。
而且对象还要再多储存一个对象头,对基本数据类型来说空间浪费率太高。
二、什么是数据类型直接量?
直接量是在程序中直接出现的常量值。
将整数类型的直接量赋值给整数类型的变量时,只要直接量没有超出变量的取值范围,即可直接赋值,如果直接量超出了变量的取值范围,则会导致编译错误。
整数类型的直接量默认是 int 类型,如果直接量超出了 int 类型的取值范围,则必须在其后面加上字母 L 或 l,将直接量显性声明为 long 类型,否则会导致编译错误。
浮点类型的直接量默认是 double 类型,如果要将直接量表示成 float 类型,则必须在其后面加上字母 F 或 f。将 double 类型的直接量赋值给 float 类型的变量是不允许的,会导致编译错误。
三、基本数据类型之间是如何转换的?
因为我们在开发有时需要把不同类型的值混合运算,因此需要对数据类型进行转换。
对于数字类型转换.
不同的数字类型对应不同的范围,按照范围从小到大的顺序依次是:byte、short、int、long、float、double。
将小范围类型的变量转换为大范围类型称为拓宽类型,不需要显性声明类型转换。
将大范围类型的变量转换为小范围类型称为缩窄类型,必须显性声明类型转换,否则会导致编译错误。
而对于字符类型与数字类型之间的转换。
将数字类型转换成字符类型时,只使用整数的低 16 位(浮点数类型将整数部分转换成字符类型)。
将字符类型转换成数字类型时,字符的统一码转换成指定的数值类型。如果字符的统一码超出了转换成的数值类型的取值范围,则必须显性声明类型转换。
同时注意:布尔类型不能转换成其他基本数据类型,其他基本数据类型也不能转换成布尔类型。
关于基本数据类型之间的转换我之前写过一篇总结,小伙伴们可以看这里:
Java数值型和字符串互转锦集【备用】
每日总结
今天关于基本数据结构相关的面试中,我们需要知道数据类型是分为“引用数据类型”和“基本数据类型”的,要记住这两种类型的内容和分类原则。知道是不同类型之间是如何转换的。
关于基本数据结构的内容就总结这些,如果小伙伴们有遇到其他相关的面试题,欢迎在评论区留言提出,我会把大家提出的总结到文章内,欢迎小伙伴们一起评论区打卡学习!小伙伴们可也在左方加我好友一起探讨学习
我是灰小猿,我们下期见!
Java 数据结构
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。