数据类型
1.基本数据类型:四类八种
整型
表示名称 表现形式 大小 范围
字节型 byte 1个字节 8位 [-128,127]
短整型 short 2个字节 16位 [-32768,32767]
整型 int 4个字节 32位 +-21亿
长整型 long 8个字节 64位 非常大
*整数的字面常量值默认类型为int,
如果想给long类型的变量赋值,需要在数据的后面添加L/l,推荐使用L
如果要给比int范围小的byte,short赋值的时候,在其范围内的常量就能够成功赋值
浮点型
表示名称 表现形式 大小 精度
单精度 float 4个字节 32位 小数点后6位左右
双精度 double 8个字节 64位 小数点后15位左右
- 小数的字面常量值默认double类型,
- 如果给float类型赋值,在数据的后面添加一个F/f
b.浮点类型因为存储不够精确,不会使用浮点类型进行精确的运算
c.表示小数完全可以,如果想要非常精确的计算表示小数,推荐你使用java提供的引用数据类型
字符型
表示名称 表现形式 范围 大小
字符型 char 0~65535 2个字节
表现形式:
1. ''中只能包裹单个字符,一定需要有一个字符
2.. 使用0~65535之间的数字进行表示不同的字符 ,去ASCII
字符型参与运算,先转为对应十进制的数字再去参数运算
布尔型
表示名称 表现形式 大小
boolean true|false 1bit
常常在逻辑运算中使用
2.引用数据类型
声明对象的时候,完全不知道对象占用内存的大小,于是通过地址来索引到对应的数据,一个地址默认占4个字节.
- 类
- 接口
- 数组
3.数据类型转换
- boolean不参与类型转换的
- 自动类型提升:
从小范围类型->大范围类型,会发生自动类型提升
- 强制类型转换:
从大范围类型->小范围类型,需要强制类型转换,有可能会损失精度
语法: 小范围类型 变量名 = (小范围类型)大范围类型的数据;
基本数据类型转换图

注意:
如果运算没有比int类型更大的数据参数运算,最终的结果会自动提升成为int类型
如果参数运算的有比int更大的类型,自动提升成为最大的数据类型
如果要给比int范围小的byte,short,char赋值的时候,在其范围内的*常量*就能够成功赋值
数据类型大小顺序: byte short char int long float double