Оператор Switch — это функция многих языков программирования, которая позволяет программисту исключить многочисленные вложенные конструкции if-else, тем самым улучшая ясность кода.

Взгляните на следующий пример:

public String toDayStringUsingIf(int dayIndex) {
        String result;

        if (dayIndex == 0) {
            result = "Sunday";
        } else if (dayIndex == 1) {
            result = "Monday";
        } else if (dayIndex == 2) {
            result = "Tuesday";
        } else if (dayIndex == 3) {
            result = "Wednesday";
        } else if (dayIndex == 4) {
            result = "Thursday";
        } else if (dayIndex == 5) {
            result = "Friday";
        } else if (dayIndex == 6) {
            result = "Saturday";
        } else {
            throw new IllegalArgumentException("Invalid day index");
        }

        return result;
    }
Войти в полноэкранный режим

Выйти из полноэкранного режима

В форме оператора switch:

public String toDayStringUsingSwitch(int dayIndex) {
        String result;

        switch (dayIndex) {
            case 1:
                result = "Sunday";
                break;
            case 2:
                result = "Monday";
                break;
            case 3:
                result = "Tuesday";
                break;
            case 4:
                result = "Wednesday";
                break;
            case 5:
                result = "Thursday";
                break;
            case 6:
                result = "Friday";
                break;
            case 7:
                result = "Saturday";
                break;
            default:
                throw new IllegalArgumentException("Invalid day index");
        }

        return result;
    }
Войти в полноэкранный режим

Выйти из полноэкранного режима

Вы можете более четко увидеть отдельные случаи в операторе switch, это позволяет другим разработчикам легко понять код. Он все еще может выглядеть длиннее, чем оператор if-else, но в расширенной версии оператора switch есть некоторые улучшения, которые делают код более компактным.. Даже этот оператор Switch более понятен, чем оператор if-else, есть несколько условий, при которых оператор Switch не может заменить оператор if-else.

Чтобы узнать больше об улучшенной версии switch в Java, вы можете прочитать эту статью: Enhanced Switch Statement in Java.

Чтобы еще лучше понять эту концепцию, настоятельно рекомендуется просмотреть приведенный ниже список литературы.


Использованная литература:

Обложка изображения