数据类型
- 了解数据类型(数据类型分类、存储范围、数据类型字面量默认类型、数据类型默认值、数据类型转换)
分类
- 分类为基本数据类型和引用数据类型的区别是这个数据类型的变量中存储的是地址还是值
- java中的引用数据类型实质就是指针数据类型,不过指针不能移动,即指针值不可变,指针常量(指针是常量,地址是常量)
- java中数组是引用类型,数组属于数据结构中的顺序表(逻辑和存储上都是连续的)
- 小数使用浮点类型时一定要注意,浮点数只是在一定精度内存储小数,精度类似于保留多少位小数,超过精度就不准确了
存储范围
数据类型 | 字节数 | 表示范围 |
---|---|---|
byte | 1 | -128~127 |
short | 2 | -32768~32767,正负3万左右 |
int | 4 | -2147483648~2147483647,正负21亿左右 |
long | 8 | -9223372036854775808~9223372036854775807, |
float | 4 | 1.4E-45~3.4028235E38,可以容纳long |
double | 8 | 4.9E-324~1.7976931348623157E308 |
char | 2 | 0~65535,无符号整数 |
引用类型 | 4 | int类型 |
boolean | 4或1 | 单独使用为4B,数组使用1个元素占1B |
默认类型
- 在程序中书写的整数默认是int类型
- 在程序中书写的小数默认是double类型
- 在程序中书写的量称为字面量(整数、小数、字符等)
默认值
数据类型 | 默认值 |
---|---|
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |
char | ‘u0000’(数值0) |
引用类型 | null |
boolean | false |
类型转换
- 类型提升:低存储范围类型->高存储范围类型提升,目的是为了防止溢出(存储空间装不下)。因此,记住每种数据类型存储范围是有必要的,如果可能超过现有数据类型存储范围,请进行类型提升。例如,
long a=21000000000L*12
,int的存储范围大约为-21亿到+21亿 - 类型降低(强制转换):高存储范围类型->低存储范围类型提升。例如,
int i = (int)6.718
- 补充:java中long虽然存储空间有8bytes,float存储空间为4bytes,但是float的表示范围>long的表示范围,因为,浮点数的计算机存储机制导致
- 补充:java中char类型本质上是无符号整数类型,占用2个字节,存储范围0到65535。
本文含有隐藏内容,请 开通VIP 后查看