Home
Java
Math.floor Method, floorDiv and floorMod
Updated Aug 6, 2021
Dot Net Perls
Math.floor. This Java function maps a number to the nearest lowest integer. For example 4.9 is mapped to 4. It works on negative numbers too: -3.1 maps to -4.
With related methods, floorDiv and floorMod we compute a division expression and then take the floor of that result. Div is division, and mod is modulo division.
Math
Modulo
Floor example. The floor is always beneath us. Likewise the Math.floor method always returns a lower integer. For negative numbers, floor() still lowers.
Here We use floor on three double values. Floor returns an int but we can store this in a double if we want.
Integer Max
Detail We use System.out.println to display the double results to the console.
Console
import java.lang.Math;

public class Program {
    public static void main(String[] args) {

        // These are all reduced, even the negative number.
        double floor1 = Math.floor(1.9);
        double floor2 = Math.floor(1.1);
        double floor3 = Math.floor(-1.3);

        System.out.println(floor1);
        System.out.println(floor2);
        System.out.println(floor3);
    }
}
1.0 1.0 -2.0
FloorDiv. 9 divided by 2 is 4.5, but with floorDiv we take the floor of that result. This returns 4. So floorDiv combines division with Math.floor.
Argument 1 This is the number being divided. In math class this number is called the numerator.
Argument 2 This is the number we are dividing the first number by. This is the divisor number.
public class Program {
    public static void main(String[] args) {

        // Use Math.floorDiv to compute the floor of a division.
        // ... The first argument is the number being divided.
        // ... The second argument is the divisor.
        int result = Math.floorDiv(9, 2);
        System.out.println(result);

        // This is the same division with no floor.
        double result2 = (double) 9 / 2;
        System.out.println(result2);
    }
}
4 4.5
FloorMod. This method is the same as floorDiv except it uses modulo division. In most cases it is the same as a regular modulo division.
Detail When one number is positive and the other is negative, Math.floorMod will have a different result from a modulo expression.
public class Program {
    public static void main(String[] args) {

        // The remainder of 10 modulo 6 is 4.
        int result = Math.floorMod(10, 6);
        int result2 = 10 % 6;
        System.out.println(result);
        System.out.println(result2);

        // Use negative numbers mixed with positive numbers.
        // ... These are different with floorMod.
        int result3 = Math.floorMod(10, -6);
        int result4 = 10 % -6;
        System.out.println(result3);
        System.out.println(result4);
    }
}
4 4 -2 4
A review. The floor functions in Java are present alongside ceiling functions. We map numbers to the nearest lower (for floor) or higher (for ceiling) integers.
Math.ceil
Dot Net Perls is a collection of pages with code examples, which are updated to stay current. Programming is an art, and it can be learned from examples.
Donate to this site to help offset the costs of running the server. Sites like this will cease to exist if there is no financial support for them.
Sam Allen is passionate about computer languages, and he maintains 100% of the material available on this website. He hopes it makes the world a nicer place.
This page was last updated on Aug 6, 2021 (edit).
Home
Changes
© 2007-2025 Sam Allen