在java编程过程中,我们经常会遇到不同类型间的四则运算,比如:
int n=3;
float f=2.2f;
int tmp=n+f;
此时程序无法编译成功,编译器会报如下错误:
Type mismatch: cannot convert from float to int
也就是说编译器认为(n+f)是float类型的数据,不能直接用float类型数据给int类型数据赋值。必须先强制类型转换:
int tmp=(int)(n+f);
为什么n+f结果是float类型,我们如何判断两个不同类型数据相加后的数据类型呢?
下面给出java中四则运算的类型转换规则:
1、如果两个操作数中有一个是double类型,另一个就会转换为double类型;
2、