Java数据类型包括:基本数据类型+引用数据类型(类、借口、数组)
基本数据类型:
整数Byte,short,int,long分别占用1,2,4,8个字节
小数Float,double分别占用4,8个字节
Char占用2个字节
Boolean占用1个字节
赋值时,整数默认为int
小数默认为double
默认数据转换为:
(1) 从小到大
(2) Byte,short,char---int---long---float---double(float的表示范围比long大,因为数据存储规则不同。)
(3) Byte,short,char之间不相互转换,直接转成int类型参与运算。
long x = 1276387125 L;
float x = 12.345 F;
byte b1=3,b2=4,b;
b=b1+b2; //有错误,因为b1和b2是变量,在运算时首先会被类型提升,转换为int型,因此赋值给b时会出现错误,可能损失精度。
b=3+4;//无错误,因为3和4是常量,在进行运算时会直接得到运算结果为7,再把7赋值给byte类型的b时,不会出现错误。
ASCII码对照表:0---48,a---97,A---65
字符串数据和其他类型的数据做“+”结果是字符串类型,“+”是字符串连接符。
连“+”运算从左到右进行运算。
二进制数以0b开头,八进制数以0开头,十进制直接写,十六进制以0x开头。
补码的计算:原码à反码à补码(正数:原,反,补都相同。负数:1. 符号位不变,其他位求反2. 末位+1)
原码à反码:正数的原,反,补都相同。
负数符号位不变,其他位求反。
反码à补码:负数的反码+1