7.介绍一下实例变量的默认值
byte:0
short:0
int:0
long:0L
double:0.0
float:0.0F
char:'\u0000'
boolean:false
8.为什么要有包装类?
Java语言是面向对象的语言,理念是“一切皆对象”,但是8种基本数据类型出现了意外,他们并不具备面向对象的特征,所以就提出包装类,包装类是8种基本数据类型的引用类。
9.自动拆箱和自动装箱的实现场景?
自动装箱和自动拆箱是JDK1.5提供的新功能
自动装箱:把一个基本类型的数据直接赋值给对应的包装类型
自动拆箱:把一个包装类型的对象直接赋值给对应的基本类型
通过自动装箱、自动拆箱功能,可以简化基本类型变量和包装类对象之间的转换过程。比如,某个方法的参数类型为包装类型,调用时我们所持有的数据却是基本类型的值,则可以不做任何特殊的处理,直接将这个基本类型的值传入给方法即可。
10.Integer和Double类型如何判断相等?
Integer和Double不能直接进行比较,包括:
1)不能直接用==进行比较,因为他们不是相同的数据类型
2)不能转化为字符串进行比较,因为Double类型的浮点值会带小数点,而Integer整数值永远不带,所以他们永远不相等
3)不能使用compareTo方法比较,虽然他们都有compareTo方法,但该方法只能对相同类型进行比较
整数和浮点类型的包装类都继承Number类型,而Number类型分别定义了将数字类型转化为byte、int、short、long、double、float的方法,所以可以将Integer和Double都转化为相同的基本数据类型,再进行比较,比如double
11.int和Integer有什么区别,他们在做==运算时会得到什么结果?
int是基本数据类型,Integer是int的包装类型,所以在做==运算时,Integer会自动拆箱成int类型,然后再进行比较,如果相等则返回true,如果不相等则返回false!