Java 封装类与 基本类型的关系

时间:2021-01-11 15:47:14

什么叫包装类

在java中有时候的运算必须是两个类对象之间进行的,不充许对象与数字之间进行运算。所以需要有一个对象,这个对象把数字进行了一下包装,这样这个对象就可以和另一个对象进行运算了。
比如我们也可以定义一个类:
class
Integer{
int i=0;
public
Integer(int i){
this.i=i;
}
}

这样这个Integer就是一个包装类,他包装了一个整数值,然后可以在里面写一些运算符重载的方法使它支持某些运算。这个时候可以赋值: 
Integerit=newInteger(10);
现在变量it就是一个对象,不是一个数字。

其中Long又叫 long的包装类。而Byte和Float也类似,一般包装类的名字首写是数值名的大写开头。


Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。
1、整数:包括int,short,byte,long ,初始值为0
2、浮点型:float,double ,初始值为0.0
3、字符:char ,初始值为空格,即'' ",如果输出,在Console上是看不到效果的。
4、布尔:boolean ,初始值为false

 

基本型别 大小 最小值 最大值
boolean ----- ----- ------
char 16-bit Unicode 0 Unicode 2^16-1
byte 8-bit -128 +127
short 16-bit -2^15 +2^15-1
int 32-bit -2^31 +2^31-1
long 64-bit -2^63 +2^63-1
float 32-bit IEEE754 IEEE754
double 64-bit IEEE754 IEEE754
void      

注意:

表格里的^代表的是次方;

java采用unicode,2个字节来表示一个字符。

 

基本类型的包装类

 

      Integer 、Long、Short、Byte、Character、Double、Float、Boolean、BigInteger、BigDecmail

 

其中BigInteger、BigDecimal没有相对应的基本类型,主要应用于高精度的运算,BigInteger 支持任意精度的整数,

 

BigDecimal支持任意精度带小数点的运算。

 

基本类型与包装类型的异同

   1、在Java中,一切皆对象,但八大基本类型却不是对象。

 

   2、声明方式的不同,基本类型无需通过new关键字来创建,而封装类型需new关键字。

 

   3、存储方式及位置的不同,基本类型是直接存储变量的值保存在堆栈中能高效的存取,封装类型需要通过引用指向实例,具体的实例保存在堆中。

 

   4、初始值的不同,封装类型的初始值为null,基本类型的的初始值视具体的类型而定,比如int类型的初始值为0,boolean类型为false;

 

   5、使用方式的不同,比如与集合类合作使用时只能使用包装类型。