1、基本数据类型和对应包装类
基本数据类型 | 包装类型 | 字节数 | 数据范围 |
byte | Byte | 1byte(8bit) | -128~127(-2^7~2^7-1) |
short | Short | 2byte(16bit) | -32768~-32767(-2^15~2^15-1) |
int | Integer | 4byte(32bit) | -2,147,483,648~2,147,483,647 (-2^31~2^31-1) |
long | Long | 8byte(64bit) | (-2^63~2^63-1) |
double | Double | 8byte(64bit) | --- |
float | Float | 4yte(32bit) | --- |
char | Character | 2byte(16bit) | 0~65535(0~2^16-1) |
boolean | Boolean | 1bit | true或false |
Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。
(1)整数型:byte,short,int,long,初始值为0。
(2)浮点型:float,double ,初始值为0.0。
(3)字符型:char ,初始值为空格,即'' "。如果输出,在Console上是看不到效果的。
(4)布尔型:boolean ,初始值为false。
包装类把基本类型转换为对象,每个基本类型在java.lang包中都有一个相应的包装类。
包装类型: Byte、Short、Integer 、Long、Double、Float、Character、Boolean、BigInteger、BigDecimal。
其中BigInteger、BigDecimal没有相对应的基本类型,主要应用于高精度的运算,BigInteger 支持任意精度的整数,BigDecimal支持任意精度带小数点的运算,主要用于金钱的计算上。
2、基本数据类型和包装类型的区别
(1)在Java中,一切皆对象,但八大基本类型却不是对象。
(2)声明方式的不同,基本类型无需通过new关键字来创建,而包装类型需new关键字。
(3)存储方式及位置的不同,基本类型是直接存储变量的值保存在栈中能高效的存取,包装类型需要通过引用指向实例,具体的实例保存在堆中。
(4)初始值的不同,包装类型的初始值为null,基本类型的的初始值视具体的类型而定,比如int类型的初始值为0,boolean类型为false;
(5)使用方式的不同:如与集合类合作使用时只能使用包装类型。
参考链接:https://blog.youkuaiyun.com/ethan_10/article/details/80312726