Java的数据类型分为基本数据类型和引用数据类型
基本数据类型(四类八种)
名称 | 范围 | 字节大小 |
byte | -2^7~2^7-1 | 1字节 |
short | -2^15~2^15-1 | 2字节 |
int | -2^31~2^31-1 | 4字节 |
long | -2^63~2^63-1 | 8字节 |
char | 字符型 | 2字节 |
float | 单精度 | 4字节 |
double | 双精度 | 8字节 |
boolean | 布尔型 | 1字节 |
数值型大小排序:byte<short<int<long<float<double
字符型可以自动转化为int型,即char<int<long<float<double
每一位的二进制位称之为一个比特位,记作bit
每八位二进制位称之为一个比特,记作byte。1byte = 8 bit
byte型底层实现:左边第一位代表符号位,此外1000 0000 不代表-0而代表-128,所以范围-128~127
float底层实现:左边第一位代表符号位,左边第二位代表整数位,后面七位代表幂次,后面23位代表小数位
引用数据类型:
类、接口、数组
栈里存放的是数据的首地址,堆里存放的是数据的值和索引。根据首地址,去获得堆里的内容
补充:面试题
byte b1=3,b2=4,b;
//byte short char 参与运算时,会先自动转换为int类型
b = b1 + b2; (报错)
//会先对3+4进行运算得到结果值 在赋值前 会先检查 值在不在byte的范围之内 如果在范围内,则可以正常赋值
如果超出byte的范围 也会报错
b=3+4; (正常运行)