1.数据类型转换之隐式转换
Java中的默认转换规则:
* 取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算.
2.数据类型转换之强制转换
强制转换的注意事项:
* 如果超出了被赋值的数据类型的取值范围得到的结果会与你期望的结果不同.
3.long与float的取值范围谁大谁小
进行混合运算的时候,byte,short,char不会相互转换,都会自动类型提升为int类型,其他类型进行混合运算的是小的数据类型提升为大的
* byte,short,char -- int -- long -- float -- double
* long: 8个字节
* float:4个字节
* IEEE754
* 4个字节是32个二进制位
* 1位是符号位
* 8位是指数位
* 00000000 11111111
* 0到255
* 1到254
* -126到127
* 23位是尾数位
* 每个指数位减去127
* A:它们底层的存储结构不同。
* B:float表示的数据范围比long的范围要大
* long:2^63-1
* float:3.4*10^38 > 2*10^38 > 2*8^38 = 2*2^3^38 = 2*2^114 > 2^63-1
4.char数据类型
char c = 97; 0到65535
ASCII码表的概述
* 记住三个值:
* '0' 48
* 'A' 65
* 'a' 97