java有8种基本类型,包括4种整型、2种浮点类型、1种用于表示Unicode编码的字符单元的字符类型char和1种用于表示真值的boolean类型。

 

4种整型 分别是:int、short、long、byte.

 

类型 存储需求 取值范围
int 4字节 -2147 483 648~2147 483 647
short 2字节 -32768~32767
long 8字节 -9223372036854775808~9223372036854775807
byte 1字节 -128~127

解释:

以byte 为例:1字节为8个2进制位 由于java有任何无符号类型(unsigned type)所以在8个字节种有一个是符号位,7个是数值位 。

在计算机内,有符号数有3种表示法:原码、反码和补码

相见 http://baike.baidu.com/view/742694.htm

[原码]就是前面所介绍的二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

[反码]表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

[补码]表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。(符号位也为记数位

以补码表示:最小数为1000 0000

1000 0000按照[补码]的解释为先减一,得到0111 1111,然后按位取反得到1000 0000,该结果为欲求负数的绝对值,所以结果是-128(和概念反着来求出该负数)

因为正是反码不变:0111111 为最大数 原码还是 01111111 即127

-------今天先写到这里。浮点数waiting