Java数据类型
1 八种基本类型
-
四类:整形、浮点型、字符型、布尔型:
-
八种:byte, short, int, long, float, double, char, boolean
数据类型 | 关键字 | 所占字节 | 取值范围 | 默认值 |
---|---|---|---|---|
字节型 | byte | 1 | -128~ 127(-2 ^ 7~2^7-1) | 0 |
短整型 | short | 2 | -32768 ~ 32767(-2 ^ 15~2^15-1) | 0 |
整型 | int | 4 | -2 ^ 31~2^31-1 | 0 |
长整型 | long | 8 | -2^63 ~2^63-1 | 0 |
单精度浮点型 | float | 4 | 3.4e-45~1.4e38 | 0.0F |
双精度浮点型 | double | 8 | 4.9e-324~1.8e308 | 0.0D |
字符型 | char | 2 | 稍微长一点的文本 | 0 |
布尔型 | boolean | 1 | 稍微长一点的文本 | false |
-
类型转换
- 小范围向大范围转化会自动转换
- 大范围向小范围转换需要强制转换
2 三种引用类型
数据类型 | 默认值 |
---|---|
数组 | null |
类 | null |
接口 | null |
-
常见的引用类型
String、StringBuffer、ArrayList、HashSet、HashMap等。
3 基本数据类型和引用类型的区别
基本数据类型 | 引用数据类型 |
---|---|
在栈中进行分配 | 在堆中进行分配 |
变量名指向具体的数值 | 变量名指向存数据对象的内存地址,即指向hash值 |
变量在声明之后Java会立刻分配内存空间 | 以特殊的方式(类似于C指针)指向对象实体,声明不会分配内存,只是存储了一个内存地址 |
基本类型之间的赋值是创建新的拷贝 | 对象之间的赋值只是传递引用 |
“==”和“!=”是在比较值 | “==”和“!=”是在比较两个引用是否相同,需要自己实现equals()方法 |
基本类型变量创建和销毁很快 | 类对象需要JVM去销毁 |
4 基本数据类型的封装类
封装类为各个数据类型提供一些数据的操作方法,可以直接使用。
例如String跟int的互相转化:
String a = "21";
int b = Integer.parseInt(a);//String 转int。
int a = 21;
String b = String.valueOf(a);//int转String。
数据类型 | 封装类 |
---|---|
boolean(布尔型) | Boolean |
byte(字节型) | Byte |
char(字符型) | Character |
short(短整型) | Short |
int(整型) | Integer |
long(长整型) | Long |
float(浮点型) | Float |
double(双精度浮点型) | Double |