Compute min and max of two numbers in Java

 Write a Java program that returns the minimum and maximum of two numbers.

Java program to compute minimum and maximum of two numbers

import java.util.function.BinaryOperator;

public class Main {

    private static final int I1 = -45;
    private static final int I2 = -15;

    private static final long L1 = 123L;
    private static final long L2 = 3L;

    private static final float F1 = 33.34F;
    private static final float F2 = 33.213F;

    private static final double D1 = 0.023844D;
    private static final double D2 = 0.35468856D;

    public static void main(String[] args) {

        // compare two integers
        int minII = Integer.min(I1, I2);
        int minIM = Math.min(I1, I2);
        int minIB = BinaryOperator.minBy(Integer::compare).apply(I1, I2);

        int maxII = Integer.max(I1, I2);
        int maxIM = Math.max(I1, I2);
        int maxIB = BinaryOperator.maxBy(Integer::compare).apply(I1, I2);

        System.out.println("\nCompare two integers:");
        System.out.println("(" + I1 + ", " + I2 + "): BinaryOperator.minBy(): " + minIB + " BinaryOperator.maxBy():" + maxIB);
        System.out.println("(" + I1 + ", " + I2 + "): Math.min(): " + minIM + " Math.max(): " + maxIM);
        System.out.println("(" + I1 + ", " + I2 + "): Integer.min(): " + minII + " Integer.max(): " + maxII);

        // compare two longs
        long minLL = Long.min(L1, L2);
        long minLM = Math.min(L1, L2);
        long minLB = BinaryOperator.minBy(Long::compare).apply(L1, L2);

        long maxLL = Long.max(L1, L2);
        long maxLM = Math.max(L1, L2);
        long maxLB = BinaryOperator.maxBy(Long::compare).apply(L1, L2);

        System.out.println("\nCompare two longs:");
        System.out.println("(" + L1 + ", " + L2 + "): BinaryOperator.minBy(): " + minLB + " BinaryOperator.maxBy():" + maxLB);
        System.out.println("(" + L1 + ", " + L2 + "): Math.min(): " + minLM + " Math.max(): " + maxLM);
        System.out.println("(" + L1 + ", " + L2 + "): Long.min(): " + minLL + " Long.max(): " + maxLL);

        // compare two floats
        float minFF = Float.min(F1, F2);
        float minFM = Math.min(F1, F2);
        float minFB = BinaryOperator.minBy(Float::compare).apply(F1, F2);

        float maxFF = Float.max(F1, F2);
        float maxFM = Math.max(F1, F2);
        float maxFB = BinaryOperator.maxBy(Float::compare).apply(F1, F2);

        System.out.println("\nCompare two floats:");
        System.out.println("(" + F1 + ", " + F2 + "): BinaryOperator.minBy(): " + minFB + " BinaryOperator.maxBy():" + maxFB);
        System.out.println("(" + F1 + ", " + F2 + "): Math.min(): " + minFM + " Math.max(): " + maxFM);
        System.out.println("(" + F1 + ", " + F2 + "): Float.min(): " + minFF + " Float.max(): " + maxFF);

        // compare two doubles
        double minDD = Double.min(D1, D2);
        double minDM = Math.min(D1, D2);
        double minDB = BinaryOperator.minBy(Double::compare).apply(D1, D2);

        double maxDD = Double.max(D1, D2);
        double maxDM = Math.max(D1, D2);
        double maxDB = BinaryOperator.maxBy(Double::compare).apply(D1, D2);

        System.out.println("\nCompare two doubles:");
        System.out.println("(" + D1 + ", " + D2 + "): BinaryOperator.minBy(): " + minDB + " BinaryOperator.maxBy():" + maxDB);
        System.out.println("(" + D1 + ", " + D2 + "): Math.min(): " + minDM + " Math.max(): " + maxDM);
        System.out.println("(" + D1 + ", " + D2 + "): Double.min(): " + minDD + " Double.max(): " + maxDD);
    }
}

Output:

Compare two integers:
(-45, -15): BinaryOperator.minBy(): -45 BinaryOperator.maxBy():-15
(-45, -15): Math.min(): -45 Math.max(): -15
(-45, -15): Integer.min(): -45 Integer.max(): -15

Compare two longs:
(123, 3): BinaryOperator.minBy(): 3 BinaryOperator.maxBy():123
(123, 3): Math.min(): 3 Math.max(): 123
(123, 3): Long.min(): 3 Long.max(): 123

Compare two floats:
(33.34, 33.213): BinaryOperator.minBy(): 33.213 BinaryOperator.maxBy():33.34
(33.34, 33.213): Math.min(): 33.213 Math.max(): 33.34
(33.34, 33.213): Float.min(): 33.213 Float.max(): 33.34

Compare two doubles:
(0.023844, 0.35468856): BinaryOperator.minBy(): 0.023844 BinaryOperator.maxBy():0.35468856
(0.023844, 0.35468856): Math.min(): 0.023844 Math.max(): 0.35468856
(0.023844, 0.35468856): Double.min(): 0.023844 Double.max(): 0.35468856

Comments