Java核心面试宝典Day4基本数据结构常见面试题汇总
Posted 灰小猿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java核心面试宝典Day4基本数据结构常见面试题汇总相关的知识,希望对你有一定的参考价值。
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核心面试宝典Day4基本数据结构常见面试题汇总的主要内容,如果未能解决你的问题,请参考以下文章