When you work with variables and methods, you need to juggle different value types. Sometimes, you need to work with an integer, but you have a float. Or you have a double that needs to be an integer. How you manage types and force them to be other things is a common part of working with programming languages.
Mixing Types in Evaluations
When you mix types, all values in a mixed evaluation are converted to double before any operations are performed.