1.包装类:8种基本类型对java面向对象的特性有所破坏,jdk就提供了8种基本类型所对应的类的表示,称为:包装类(类属性使用包装类定义,方法中的局部变量使用基本类型定义 )
2.
基本类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
3.创建包装类:除Character以外,其它7种包装类,提供了至少2种构造方法
4.装箱以及拆箱
①.将基本类型变成对应的包装类对象的过程,称为装箱
②.从包装类对象中取出对应基本类型的过程,称为拆箱
装箱和拆箱又分为两个发展阶段
(1).手动装箱 和 手动拆箱
(2).自动装箱 和 自动拆箱【jdk1.5之后 】:特点是使得对包装类的使用近似于对基本类型的使用
5.整数类型包装类中的缓冲区
-
4种整形 Byte , Short , Integer , Long 都提供了一个缓存
-
缓存了-128~127 这256个数字对应的对象
-
当自动装箱的数字在缓存范围内的时候,每次获得的都是相同的对象
-
如果装箱的数字在缓存范围外,每次都会创建新的对象
6.包装类中的常用方法
①.实现字符串与数字之间的转换
②.每一个包装类都提供了两个静态常量,分别代表对应基本类型的上限和下限
③.实现数字类型之间的转化
-
8种基本类型,除boolean,其他7种基本类型之间是可以相互转化 ,自动转化,强制转化
-
但它们对应的包装类之间,无法转化。
-
方法:
byteValue();
shortValue();
intValue();
longValue();
floatValue();
doubleValue();
7.Number类
-
包装类中6个跟数字相关的包装类,都继承了Number这个父类
-
6个类型之间转化的方法也是Number中提供的方法,需要子类重写
-
6个包装类都继承了Number,但Number不仅仅有6个子类
(1)
BigInteger 长整型
本质上,BigInteger底层使用的是一个int[]存储十进制中的每一位的数字
BigInteger常用方法
BigIneger i = new BigInteger("1");
BigIneger j = new BigInteger("1");
i.add(j); 加法
i.subtract(j); 减法
i.multiply(j); 乘法
i.divide(j) ; // 除法
i.compareTo(j) ;//大小比较
所有的计算必须都是BigInteger与BigInteger类型的运算
(2)
BigDecimal
-
float小数点精度大约是(7-8)
-
double小数点精度大约是(15-16)
-
理论上BigDecimal可以存储比double还长的小数点精度。
-
但实际应用中我们主要使用BigDecimal控制小数点精度,如:保留有效数字