Java requires at least one of the operands to be floating-point in order to return a floating-point result (see Java Language Spec 4.2.4: Floating Point Ops).