类型转换
-
由于Java是强类型语言,所以要进行一些运算时,需要类型转换
数据类型由低到高:
低---------------------------------------高
byte,short,char——>int——>long——>float——>double//小数的优先级大于整数
运算中,不同类型的数据先转化为同一类型,然后进行运算
类型转换分为强制转换和自动转换
- 由高到低属于强制转换
- 由低到高属于自动转换
int,byte转换
int i=128;
byte b=(byte) i;
//强制转换 (类型)变量名
System.out.println(i);
System.out.println(b);
运行结果显示数值不一样是因为内存溢出
int,double转换
int i=128;
double b=i;//自动转换
System.out.println(i);
System.out.println(b);
float,int转换
System.out.println((int) 33.8);//精度问题
System.out.println((int) -56.1555f);
char,int转换
char c='a';
int f=c+1;
System.out.println(f);
System.out.println((char)f);
注意点
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 转换时可能存在内存溢出,或精度问题