首先我们来看Integer和int的区别,integer是int的包装类
这样int就可以使用integer类的方法,此为装箱
此为拆箱,将Integer转换为基础类型,我们就想为什么要是用基础类型,而不是直接使用封装类呢,因为这些基础类型使用频率高,使用范围也广,为了使用方便以及美观就提供了基础类型
Java基础类型有boolean,byte,in,char,long,short,double,float
六种数字类型(四个整数型(默认是int 型),两个浮点型(默认是double 型)),一种字符类型,还有一种布尔型。
boolean类型 为单字节
byte类型为8位(bit比特),为一个字节,但是为什么8个二进制位才能构成1个字节呢?这是由于历史原因造成的(8位,按照2*8=256,可以生成256情况,刚好包含各种符号,英文字母以及数字),使设计者设定8bit为一个字节。1个英文为一个字节,汉字为2个字节。
Byte一个字节数字区间为-128(-2^7)到127(2^7-1) 之间
因为8位最多可以展示256个不同数字(但是有一个用来表示状态位正和负),而为了展示负数所以提出了一种算法技巧
0开头的为正数,1开头的为负数
正数算法还是二进制 如 10=2 11=3 110=4
负数算法:
举例 :110 会解析为001, 然后增加一个位 010 = 2 然后加上负,就是-2.
0-127 的数量是等于 -1 - (-128)的都是128位
同理我们来看下其它基本类型
short 2字节16位 -2^15 到2^15-1
int 4字节 32位 -2^31 到2^31-1
long 8字节 64位 以l 结尾
float 单精度,4字节32位 以f结尾
double 双精度 ,8字节 64位,默认浮点类型,以d结尾
char单字节