为什么Long类型的比float类型的范围小?
float 占四个字节:
一个字节是八个二进制位,float四个字节相当于32个二进制位
最左边的1位代表的是符号位
后面的23位代表尾数位(小数位,最大也无非是无限接近于1,不影响其整个float的取值,可忽略不计)
剩下的8位(32 - 1 - 23)就是关键的指数位,二进制表示为:00000000 ~ 111111111 取值范围为0 ~ 255,
根据IEEE 754规定,其中0代表0,255代表无穷大,去除两个最值,中间的范围为1 - 254,
规定每个指数要减去127,所以范围为:-126 ~ 127,即 最大值为2^127,远远大于long类型的最大值:2^63-1
*自动类型转换
*强制类型转换
自动类型转换:数据类型取值范围小的转为取值范围大的
int整型常量和字符常量在合理范围内可以直接赋值给 byte、short、int、char
强制类型转换:数据类型取值范围大的转为取值范围小的. 需要加强制转换符,也就是(要转换的数据类型)
运算符的优先级别
单目 > 算术 > 关系 > 逻辑 > 三目 > 条件>赋值