• whats_a_refoogee
    link
    fedilink
    arrow-up
    7
    ·
    1 year ago

    To avoid a type conversion that might not be expected. Integer math in Java differs from floating point math.

    Math.floor(10.6) / Math.floor(4.6) = 2.5 (double)

    If floor returned a long, then

    Math.floor(10.6) / Math.floor(4.6) = 2 (long)

    If your entire code section is working with doubles, you might not like finding Math.floor() unexpectedly creating a condition for integer division and messing up your calculation. (Have fun debugging this if you’re not actively aware of this behavior).