两大类:基本数据类型、引用数据类型
基本数据类型
四类八种基本数据类型
四类
整数、浮点数、字符、字符
八种
注意事项:
- 字符串不是基本数据类型,而是引用数据类型;
- 浮点型数据可能只是一个近似值,并非精确值;
- 数据范围与字节数不一定相关,比如float是4字节,long是8字节,但是float比long范围广,因为float用的是科学计数法;
- 浮点数当中默认类型是double,如果一定要使用float,需要加上一个后缀F(建议使用大写字母);
- 整数类型中默认类型是int,如果一定要使用long,需要加上一个后缀L。
引用数据类型
字符串、数组、类、接口、lambda
类型转换
自动类型转换(隐式)
1. 特点: 代码不需要进行特殊处理,自动完成;
2. 规则: 数据范围从小到大。(float范围比long大)
强制类型转换(显式)
1. 特点: 代码需要进行特殊的格式处理,不能自动完成;
2. 规则: 范围小的类型 范围小的变量名 = (范围小的类型) 原本范围大的数据。 int num = (int)1300L;
3. 注意事项:
- 一般不推荐使用强制转换类型,因为有可能发生精度损失、数据溢出;
- byte/short/char这三种类型都可以发生数学运算,比如“+”,他们在运算的时候,都会首先被提升成为int类型,然后运算;
- boolean类型不能发生任何数据类型转换。
| 数据类型 | 关键字 | 内存占用 | 取值范围 |
| 字节型 | byte | 1个字节 | -128~127 |
| 短整型 | short | 2个字节 | -32768~32767 |
| 整形 | int | 4个字节 | -231~231-1 |
| 长整形 | long | 8个字节 | -263~263-1 |
| 单精度浮点数 | float | 4个字节 | 1.4013E-45~3.4028E+38 |
| 双精度浮点数 | double | 8个字节 | 4.9E-324~1.7977E+308 |
| 字符型 | char | 2个字节 | 0~65535 |
| 布尔类型 | boolean | 1个字节 | true、false |