java中的数据类型
包装类与基本数据类型
java中提供了8中基本类型:6中数字类型(4个整数型,2个浮点型),1种字符类型,还有1种布尔类型。
- 整数: int 、short、byte、long,初始值为0.
- 浮点型:float、double,初始值为0.0 。
- 字符:char 初始值为空格。
- 布尔值:boolean ,初始值为false。
java中包装类包括:Integer、Long、Short、Byte、Character、Double、Float、Boolean、BigInteger、BigDecimal。其中BigInteger、BigDecimal没有对应的基本类型,主要用于高精度的运算。BigInteger支持任意精度的整数,BigDecimal支持任意精度带小数的运算。
基本类型与包装类的异同
1、在java中,一切皆对象,但8大基本类型却不是。
2、声明方式的不同,基本类型无需通过new关键字来创建,而包装类型需要。
3、存储方式及位置不同,基本类型是直接存储变量的值保存在栈中能高效存取,包装类型需要通过引用指向实例,具体实例保存在堆中。
4、初始值不同,包装类型的初始值为null,基本类型的初始值视具体的类型而定,比如int类型的初始值为0,boolean类型为false。
5、使用方式的不同,比如与集合类合作使用时只能使用包装类型。
包装类与基本数据类型
- 装箱:把基本数据类型转换成包装类
自动装箱
int i1 = 2;
Integer i2 = i1;
手动装箱
int i1 = 2;
//手动装箱
Integer i3 = new Integer(i1);
- 拆箱:把包装类转换成基本数据类型
自动拆箱
手动拆箱
int i1 = 2;
Integer i2 = i1;
// 自动拆箱
int i4 = i2;
// 手动拆箱
int i5 = i2.intValue();
字符串与基本数据类型
- 基本数据类型转换为字符串
使用包装类的toString()方法
int t1 = 2;
String t2 = Integer.toString(t1);