Наибольшее из трёх чисел в Java — программа через if-else

Даны три числа — нужно найти максимальное. Простая задача, на которой удобно отрабатывать if...else if...else и логический оператор && (И). На programiz показаны два подхода: плоский if-else if и вложенный if...else.

Пример 1: через if…else if

public class Largest {

    public static void main(String[] args) {

        double n1 = -4.5, n2 = 3.9, n3 = 2.5;

        if( n1 >= n2 && n1 >= n3)
            System.out.println(n1 + " is the largest number.");

        else if (n2 >= n1 && n2 >= n3)
            System.out.println(n2 + " is the largest number.");

        else
            System.out.println(n3 + " is the largest number.");
    }
}

Вывод:

3.9 is the largest number.

В программе три числа -4.5, 3.9 и 2.5 сохранены в переменных n1, n2 и n3.

Чтобы найти наибольшее, последовательно проверяются условия:

  • Если n1 больше или равно и n2, и n3 — наибольшее n1.

  • Если n2 больше или равно и n1, и n3 — наибольшее n2.

  • Иначе — наибольшее n3.

Пример 2: через вложенный if…else

Вместо двух условий в одном if проверяем сначала пару чисел, затем уже внутри — следующую пару.

public class Largest {

    public static void main(String[] args) {

        double n1 = -4.5, n2 = 3.9, n3 = 5.5;

        if(n1 >= n2) {
            if(n1 >= n3)
                System.out.println(n1 + " is the largest number.");
            else
                System.out.println(n3 + " is the largest number.");
        } else {
            if(n2 >= n3)
                System.out.println(n2 + " is the largest number.");
            else
                System.out.println(n3 + " is the largest number.");
        }
    }
}

Вывод:

5.5 is the largest number.

В этой версии вместо двух условий в одном if мы используем вложенный if для нахождения максимума.

Логика проверок такая:

  • Если n1 >= n2:
    • и n1 >= n3 — наибольшее n1;

    • иначе — наибольшее n3.

  • Иначе:
    • если n2 >= n3 — наибольшее n2;

    • иначе — наибольшее n3.