Java共有8类基础类型,分别是byte、short、int 、long、float、double、char和boolean.
今天要讲的是+、-、*、/、%运算符对基本类型进行运算时,他们的运算规则遵循下面四种原则:
1、只要两个操作数中有一个是double类型的,另一个操作数将会被转换成double类型,并且结果也是double类型;
2、只要两个操作数中有一个是float类型的,另一个将会被转换成float类型,并且结果也是float类型;
3、只要两个操作数中有一个是long类型的,另一个将会被转换成long类型,并且结果也是long类型;
4、两个操作数如果是这四种类型(包括byte、short、int、char),都将会被转换成int类型,并且结果也是int类型。
比如:
double d = 3.4d;
int a = 3;
double f = d + a;
这个例子就符合第一条原则。

这个例子就违背了第一条原则。一个double类型加上一个整形。在计算的过程中,整形会被转换为double类型在计算。最后的结果将会是double.
再看一个例子:

我们上面第四条原则说,当计算时,如果操作数是byte、short、int、char任意一种,都会转换为int.计算的结果也会是int型。所以这里会报类型错误。
下面这个例子:

浙公网安备 33010602011771号