java 基本类型

1 常量 整数

byte 1字节 8位 -27~27-1 0111 1111 ~1000 0000
short 2 16    
int 4 32    
long 8 64    

 

 

 

 

1111 1111、1000 0000代表的是-1 -128的补码,负数所谓的补码就是他们绝对值的原码的取反加+1  
比如 -1的绝对值是1 1的原码是0000 0001 反码是 1111 1110 
反码+1 也就是补码就是 1111 1111
-128的绝对值是 128  原码是 1000 0000 反码是 0111 1111
反码+1 也就是 1000 0000 

在内存中 存放的都是补码 正数的补码与其原码相同,而负数的补码是 其绝对值的原码的反码+1

byte b = 12;
long l = b;//ok 小-大 类型提升 自动转换
int i = 1;
b = i;//no 大-小 丢失精度
b = (byte)i;//强制转换 编译通过 但不就是精度保证后果

2 常量 浮点数(小数)

float 4字节
double 8字节

 

 

 

float f = 4.5f;
double d = 4.3;//小数默认是double类型的精度双精度,所以定义float类型时小数后面要加f,相当于强制转换

3 常量 boolean 值为true和false,只有这两个值占一个字节

4 常量 字符 char 占2个字符 unicode编码

 

 

posted on 2015-05-15 11:04  weiguoyuan  阅读(146)  评论(2编辑  收藏  举报

导航