If в Java

Условный оператор if используется довольно часто в языке Java, сложно написать программу без его участия. Он используется с целью направления выполнение программы по двум разным ветвям:

Оператор ветвления if фото

1. If в Java

Рассмотрим общую форму написания оператора if. Выражение booleanExpression должно возвращать логическое значение типа boolean или Boolean. Если booleanExpression возвращает значение true, то блок кода, написанный в фигурных скобочках выполняется. Если booleanExpression равно false, то блок не выполняется:

if (booleanExpression) {
     System.out.println("In the if block");
}

Следующий пример демонстрирует использование оператора if:

public class IfDemo {
    public static void main(String[] args) {
        int a = 1;
        if (a < 10) {
            System.out.println("In the if block");
        }
    }
}

2. Оператор if-else

Существует еще одна форма написания оператора if - с блоком else. В случае если booleanExpression возвращает значение false, то выполняется блок кода, написанный после else:

if (booleanExpression) {
    System.out.println("Inside if block");
} else {
    System.out.println("Inside else block");
}

Следующий пример показывает как использовать оператора if-else:

public class IfElseDemo {
    public static void main(String[] args) {
        int a = 1;
        if (a == 10) {
            System.out.println("In the if block");
        } else {
            System.out.println("In the else block");
        }
    }
}

Блок кода следующий за if и else может иметь несколько команд. Фигурные скобки необязательны если блок ifсодержит только один оператор - код откомпилируется. Но в соответствии с рекомендациями Oracle, скобки необходимо ставить в любом случае.

3. Оператор if-else-if

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

Рассмотрим на примере:

public class IfElse1 {
    public static void main(String[] args) {
        int month = 4; // April
        String season;
        if (month == 12 || month == 1 || month == 2) {
            season = "Winter";
        } else if (month == 3 || month == 4 || month == 5) {
            season = "Spring";
        } else if (month == 6 || month == 7 || month == 8) {
            season = "Summer";
        } else if (month == 9 || month == 10 || month == 11) {
            season = "Autumn";
        } else {
            season = "Not a Month";
        }
        System.out.println("April is in the " + season + ".");
    }
}

Результат выполнения кода:

April is in the Spring.
Read also:
Comments