一、基本类型
8种基本类型,其中4种整型,两种浮点型,一种表示unicode的字符类型,一种布尔类型
1、整型
1)int :4字节,32位
2)short:2字节,16位
3)long:8字节,32位
4)byte:1字节,8位
tips:
1)java中的整型的大小与机器和平台无关,所以能在各种平台上进行移植而不会损失精度,c和c++的整型与目标平台有关,比如在16位处理器上整型占2字节,32位处理器上占4字节,在程序移植上有很大的难度。
2)java中不存在任何无符号形式的整型(比如byte占8位,其中一位表示符号,有效数值7位,只能表示 -128~127)
2、浮点数
1)float:4字节,有效位数7位
2)double:8字节,有效位数16位
tips:
1)浮点数添加后缀f表示float类型,添加d或者不加任何后缀表示double类型。
按照IEEE 754规范,单精度的float浮点数共有32位,其中有一位表示符号位,八位指数位,23位尾数位。这里的有效位数指的是尾数位。IEEE 754规定,在计算机内部保存尾数时,默认这个数的第一位总是1,因此可以被舍去,只保存后面的xxxxxx部分。比如保存1.01的时候,只保存01,等到读取的时候,再把第一位的1加上去。这样做的目的,是节省1位有效数字。以32位浮点数为例,留给尾数只有23位,将第一位的1舍去以后,等于可以保存24位有效数字。10^7 < 2^24 < 10^8,所以尾数的有效数字位最多只有7位。(包括小数点前一位)
同理,双精度的double浮点数有效位数16位。
public class