When doing arithmetic, charts/shorts get turned into at least integers to actually do math. When one number is a double, the other number is turned into a double, too.
Example
double d; char i, j;Doingi/jdoes integer division Doingd/jmakes both numbers a double, then does floating-point division