基本数据类型
- 数值型
- 字符型
- 布尔型
基本类型 | 字节 | 位数 | 默认值 | 包装类 |
---|---|---|---|---|
int | 4 | 32 | 0 | Integer |
short | 2 | 16 | 0 | Short |
long | 8 | 64 | 0L | Long |
byte | 1 | 8 | 0 | Byte |
char | 2 | 16 | ‘u0000’ | Character |
float | 4 | 32 | 0f | Float |
double | 8 | 64 | 0d | Double |
boolean | 1 | false | Boolean |
- 基本类型赋值后才能使用
基本数据类型——类型转换
-
小类型的变量赋值给大类型,会自动转换
short a=1; int b=a+1; //自动转换int
-
大类型的变量赋值给小类型,强制转换
int a=1; short b=(short)a;
double > long > float > int > short > byte
引用数据类型
引用数据类型指向一个对象,存储的是 该对象 的地址,指向对象的变量是 引用变量
引用数据类型包括:
- 类
- 接口
- 数组
装箱和拆箱
正常生产Integer对象:
Integer i = new Integer(10);
自动装箱: 根据数值自动创建对应的Integer对象
拆箱: 将Integer转化为基本数据类型
Integer i = 10; //装箱
int n = i; //拆箱
Java 基本类型的包装类的大部分都实现了常量池技术,即 Byte,Short,Integer,Long,Character,Boolean;前面 4 种包装类默认创建了数值[-128,127] 的相应类型的缓存数据,Character创建了数值在[0,127]范围的缓存数据,Boolean 直接返回True Or False。如果超出对应范围仍然会去创建新的对象
两种浮点数类型的包装类 Float,Double 并没有实现常量池技术