1.java基础面试题第三天
1.数组到底是不是对象
是对象。 先说说对象的概念。对象是根据某个类创建出来的一个实例,表示某类事物中一个具体的个体。数组类的父类就是Object类,那么可以推断出数组就是对象。
2.java的基本数据类型有哪些?
byte,8bit
char,16bit
short,16bit
int,32bit
float,32bit
long,64bit
double,64bit
boolean,只有两个值:true、false,可以使⽤用 1 bit 来存储
3,为什么不能用浮点型表示金额
在Java中,不建议使用浮点数(如float和double)来表示金额,主要原因是浮点数不能精确地表示十进制小数,可能导致精度损失和计算错误。这是因为浮点数是基于二进制系统表示的,有些十进制小数在二进制表示下是无限循环的,无法精确表示。为了避免这种情况,建议使用java.math.BigDecimal
类来表示和计算金额。
4.什么是值传递和引用传递?
值转递转递的是值不会对原来数值进行修改
引用传递是对象,指向同一块内存区域,修改的值会对应修改
java中不存在引用传递,只有值传递。即不存在变量a指向变量b,变量b指向对象的这种情况。
5.了解Java的包装类型吗?为什么需要包装类?
java变量都是分为八大基本类型和引用类型,八大基本类型为:short,int,long,float,double,char,boolean,byte
都是java是面向对象的类型,方便我们对基本类型进行操作,java为基本类型提供对应的包装类(jdk1.5),在我们对应转换时候,会自动拆箱和装箱
在我们进行操作Integer的时候,在-128~127 会使用同一个对象,基于java对包装类的缓存