刚开始学的时候,感觉这部分很简单,而且会有一种“这么低级怎么可能用的到?”的错觉,然而,这种错觉往往会在面试笔试题上吃大亏。。。
Java总共有8种原始数据类型:4种整型、2种浮点类型、1种用于表示Unicode编码的字符单元的字符类型char、1种用于表示真值的boolean类型。
数据类型 大小(位) 范围 默认值
byte(字节) 8 -128 - 127 0
shot(短整型) 16 -32768 - 32768 0
int(整型) 32 -2147483648-2147483648 0
long(长整型) 64 -9233372036854477808-9233372036854477808 0
float(浮点型) 32 -3.40292347E+38-3.40292347E+38 0.0f
double(双精度) 64 -1.79769313486231570E+308-1.79769313486231570E+308 0.0d
char(字符型) 16 ‘ u0000 - uffff ’ ‘u0000 ’
boolean(布尔型) 1 true/false false
注意:1、长整型数值后有一个L后缀,十六进制数值有一个0x,八进制有一个前缀0;
2、Java中,所有的数值类型所占字节数量和平台都无关; Java没有任何无符号类型;
3、double表示这种类型的精度是float的两倍,实际上,只有很少情况适合使用float类型。
4、特殊的三个浮点数值:正无穷大、负无穷大、NaN(不是一个数字);所有的NaN的值都认为是不同的。
5、浮点数值不适合用于“禁止出现舍入误差”的金融计算中,原因是,浮点数采用2进制系统表示,而二进制系统无法精确的表示分数1/10;此事,可采用BigDecimal类
6、char类型可用于表示单个字符,通常用来表示字符常量。 Unicode编码单元可以表示为16进制数值,范围是:u000到Uffff。而,u还可以出现在字符常量或字符串的引号之外(其他的不可以)。
7 、字符常量是用单引号括起的一个字符 且字符常量在内存中存储的是该字符在Unicode字符集中的排序位置,即整数
8、boolean类型只有两个值,而且整型和布尔型之间不能进行转换!