今天来和大家分享在Java中有关基本数据结构相关的面试题,这一类问题因为比较基础,其实有时候就很容易被我们忽视掉,但是这也不妨碍面试官对我们的考察呀!
一、Java的数据类型有哪些?
===============
很多人都会在这个看似简单的问题中入坑,一说到数据类型,很多人第一时间想到的就是int、char等类型,但是我们仔细看题就会发现,题中所问的问题是数据类型
,而不是基本数据类型。
数据类型有两种,分别是“基本数据类型”
和“引用数据类型”
基本数据类型包括的内容如下表:
而引用数据类型包括的是三种:类、接口、数组
那么在Java中为什么会有“基本数据类型”和“引用数据类型”?
原因是因为引用类型在堆里,基本类型在栈里,栈空间小且连续,往往会被放在缓存。引用类型的高速缓存率高且要多一次解引用。
而且对象还要再多储存一个对象头,对基本数据类型来说空间浪费率太高。
二、什么是数据类型直接量?
=============
直接量是在程序中直接出现的常量值。
将整数类型的直接量赋值给整数类型的变量时,只要直接量没有超出变量的取值范围,即可直接赋值,如果直接量超出了变量的取值范围,则会导致编译错误。
整数类型的直接量默认是 int 类型,如果直接量超出了 int 类型的取值范围,则必须在其后面加上字母 L 或 l,将直接量显性声明为 long 类型,
否则会导致编译错误。
浮点类型的直接量默认是 double 类型,如果要将直接量表示成 float 类型,则必须在其后面加上字母 F 或 f。
将 double 类型的直接量赋值给 float 类型的变量是不允许的,会导致编译错误。
三、基本数据类型之间是如何转换的?
=================
因为我们在开发有时需要把不同类型的值混合运算,因此需要对数据类型进行转换。
对于数字类型转换. 不同的数字类型对应不同的范围,按照范围从小到大的顺序依次是:byte、short、int、long、float、double。
写在最后
以上分享的全部资料都可免费分享领取—— 【点击这里下载】
还有一份JAVA核心知识点整理(PDF):JVM,JAVA集合,JAVA多线程并发,JAVA基础,Spring原理,微服务,Netty与RPC,网络,日志,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存,Hadoop,Spark,Storm,YARN,机器学习,云计算…
sandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存**,Hadoop,Spark,Storm,YARN,机器学习,云计算…