关于JAVA的数据类型****和类型提升
Java的数据类型分为两类:基本数据类型和引用数据类型
基本数据类型分为:
整数类型:byte short int long
浮点类型:double float
字符类型:char
布尔类型:boolean
引用数据类型分为:
String
数组
类
接口
理解数值提升
int和long的混合运算
int a = 10; long b =20;
int c = a + b;//编译报错,提示long 转为int会丢失精度
int d = int(a + b);//编译通过,将long强转为int
long e = a+b;//编译通过
结论: 当 int 和 long 混合运算的时候, int 会提升成 long, 得到的结果仍然是 long 类型, 需要使用 long 类型的变量来
接收结果. 如果非要用 int 来接收结果, 就需要使用强制类型转换
byte和byte的运算
byte a = 10 ;
byte b = 20;
byte c = a + b;//编译报错,从int转为byte会丢失精度
byte c = byte(a+ b);//将int强转为byte
system.out.println( c );
结论:byte和byte都是相同类型,但是出现编译错误,原因是a+b进行计算的时候会先被提升为Int类型在进行计算,计算得到的结果是Int类型如果进行赋值byte会丢失精度,所以会报错.
由于计算机cpu在进行计算时会以4个字节在内存中读写数据,所以byte , short之类的都会先提升为int类在进行计算.