数字的基本类型有整数型(4)、浮点型(2)、单字符型(1)、布尔型(2)、其中还包括了强制转换和隐式转换。
----------------------------------------------------------------------------------------------------------------------------------
1)
8 λ
16 λ
32 λ
64 λ
小于 32 位数的变量,都按 int 结果计算。
byte和short可以隐式转换成int,但是long不可以。
强转符比数学运算符优先级高。
----------------------------------------------------------------------------------------------------------------------------------
2)两种浮点数类型(float、double):
32 λ,后缀 F 或 f,1 位符号位,8 位指数,23 位有效尾数
64 λ,最常用,后缀 D 或 d,1 位符号位,11 位指数,52 位有效尾
2.浮点数字面量默认都为 double 类型,所以在定义的 float 型数据后面加F 或 f
4. 浮点数是不精确的,不能对浮点数进行精确比较。
----------------------------------------------------------------------------------------------------------------------------------
3)一种字符类型(char):
3. 两字符 char 中间用“+”连接,内部先把字符转成 int 类型,再进行加法运算,char 本质就是个数!二进制的,显示的时候,经过“处理”显示为字符。
----------------------------------------------------------------------------------------------------------------------------------
4)一种布尔类型(boolean):
----------------------------------------------------------------------------------------------------------------------------------
强制转换:①会损失精度,产生误差,小数点以后的数字全部舍弃。②容易超过取值范围。
有一个疑问,为什么作为64位的long可以隐式转换成32位的float?(因为一般你会发现,隐式转换都是位数小转位数大的)
解答:
----------------------------------------------------------------------------------------------------------------------------------
6)记忆:
----------------------------------------------------------------------------------------------------------------------------------