1,java数据类型
基本数据类型:
整型:byte/short/int/long(默认为int类型,默认值为0)
浮点型:float/double(默认为double类型,默认值为0.0)
字符型:char(默认值为‘\u0000’)
布尔型:boolean(boolean值占4个字节,boolean数组占1个字节,默认值为false)
引用类型:引用类型的默认值为null
类(class)
接口(interface)
数组(array)
2,浮点数叫法的由来:
浮点类型的数就是小数,因为小数用科学计数法表示的时候,小数点是可以“浮动”的,如1234.5可以表示成12.345x10^2,也可以表示成1.2345x10^3,所以称为浮点数。
3,float表示数值的范围比long还大,定义float类型变量时,变量要以f或者F为结尾,因为float占用的32位中,有8位是用来充当指数位,也即float的范围为-2^128-2^128,而long的范围是-2^63~2^63-1
4,使用技巧
浮点数判断相等不能直接用==
运算符;使用Math.abs(传入的值)<0.01,应该选择合适范围的整型(int
或long
),没有必要为了节省内存而使用byte
和short
进行整数运算。
5,byte,short,char做运算时,得到的结果是int类型
6,除法运算注意点
整数的除法对于除数为0时运行时将报错,但编译不会报错。
而浮点数运算在除数为0时,不会报错,但会返回几个特殊值:
NaN表示Not a Number
Infinity表示无穷大
-Infinity表示负无穷大
例如: double d1 = 0.0 / 0; // NaN
double d2 = 1.0 / 0; // Infinity
double d3 = -1.0 / 0; // -Infinity