数据类型和类型的转换
基本数据类型
4类8种,作用是规定单个数据变量新开辟存储空间的大小。
计算机基本存储单位:字节 1byte=8bit。
整型
名称 | 取值范围 | 大小 |
---|---|---|
byte 字节型 | [-128,127] | 1 byte |
short 短整型 | ±3万 [-32768,32767] | 2 byte |
int 整型 | ±21亿 | 4 byte |
long 长整型 | 非常大 | 8 byte |
- 整型的字面常量值默认int类型;
- 如果想要存储比int类型更大的long类型的数据,需要在数据的后面添加L/l,推荐使用L
浮点型
名称 | 取值范围 | 大小 |
---|---|---|
float 单精度浮点型 | 表示精度7位有效数字 | 4 byte |
double 双精度浮点型 | 表示精度16位有效数字作用 | 8 byte |
- 浮点类型默认的字面常量值是double类型的;
- 如果想要给float赋值,需要在数据的后面添加f/F;
- 注意:浮点类型运行可能发生不精确,一般不做是否相等的比较运算
字符型
名称 | 取值范围 | 大小 |
---|---|---|
char | 0~65535 | 2 byte |
布尔型
名称 | 取值范围 | 大小 |
---|---|---|
boolean | true 或 false | 1个 bit |
引用数据类型
引用数据类型有三种:类、接口、数组
数据类型转换
自动类型转换
- 小范围类型的数据到大范围类型会发生自动类型提升
强制类型转换
-
大范围类型的数据赋值给小范围类型的变量,需要发生强制类型转换,有可能损失精度
-
小范围类型 变量名=(小范围类型)大范围类型数据;
类型转换注意事项
-
boolean类型不参与类型转换
-
如果多个类型的数据参与运算,最终结果会提升成为参与运算的数据的最大类型
-
如果比int小的char,byte,short参与运算时,会自动类型提升为int类型
-
如果给short,byte,char赋值,只要在其范围内的常量就能成功赋值