Elementor Header #8

47. Условная конструкция (if)

1. Введение

Условная конструкция if — это один из основных инструментов в программировании, который позволяет управлять потоком выполнения программы в зависимости от выполнения или невыполнения определённых условий. В Java конструкция if используется для выполнения блока кода, если заданное условие истинно (true).

2. Основы конструкции if

Конструкция if проверяет логическое выражение. Если выражение возвращает true, выполняется блок кода, связанный с if. Если выражение возвращает false, код в блоке пропускается.

Синтаксис:

				
					if (условие) {
    // Код, который будет выполнен, если условие истинно
}

				
			

3. Пример использования if

Рассмотрим простой пример использования конструкции if.

Пример:

				
					public class Main {
    public static void main(String[] args) {
        int number = 10;

        // Использование if для проверки условия
        if (number > 5) {
            System.out.println("The number is greater than 5.");
        }
    }
}

				
			

В этом примере переменная number имеет значение 10. Конструкция if проверяет, больше ли число 5. Поскольку условие истинно, программа выводит на экран сообщение «The number is greater than 5.»

4. Расширение конструкции if: else

Часто нужно выполнить один блок кода, если условие истинно, и другой блок, если оно ложно. В таких случаях используется конструкция else.

Синтаксис:

				
					if (условие) {
    // Код, который будет выполнен, если условие истинно
} else {
    // Код, который будет выполнен, если условие ложно
}

				
			

Пример:

				
					public class Main {
    public static void main(String[] args) {
        int number = 3;

        // Использование if и else
        if (number > 5) {
            System.out.println("The number is greater than 5.");
        } else {
            System.out.println("The number is 5 or less.");
        }
    }
}

				
			

Здесь переменная number равна 3. Так как 3 не больше 5, программа выполнит блок кода в else и выведет «The number is 5 or less.»

5. Условная конструкция else if

Если нужно проверить несколько условий, используется комбинация if, else if и else. Это позволяет создавать цепочку условий, где каждое следующее условие проверяется, только если предыдущее оказалось ложным.

Синтаксис:

				
					if (условие1) {
    // Код, который будет выполнен, если условие1 истинно
} else if (условие2) {
    // Код, который будет выполнен, если условие1 ложно и условие2 истинно
} else {
    // Код, который будет выполнен, если все условия выше ложны
}

				
			

Пример:

				
					public class Main {
    public static void main(String[] args) {
        int number = 10;

        // Использование if, else if и else
        if (number > 10) {
            System.out.println("The number is greater than 10.");
        } else if (number == 10) {
            System.out.println("The number is equal to 10.");
        } else {
            System.out.println("The number is less than 10.");
        }
    }
}

				
			

В этом примере переменная number равна 10. Условие number > 10 ложно, поэтому программа проверяет следующее условие number == 10, которое истинно, и выводит «The number is equal to 10.»

6. Вложенные конструкции if

Вы можете вкладывать одну конструкцию if в другую для создания более сложной логики.

Пример:

				
					public class Main {
    public static void main(String[] args) {
        int number = 15;

        // Вложенные конструкции if
        if (number > 10) {
            if (number < 20) {
                System.out.println("The number is between 10 and 20.");
            }
        }
    }
}

				
			

В этом примере сначала проверяется, больше ли число 10. Если это условие истинно, выполняется вложенная проверка, меньше ли число 20. Поскольку оба условия истинны, программа выводит «The number is between 10 and 20.»

7. Ошибки при использовании условной конструкции if

7.1 Ошибка: Отсутствие фигурных скобок

Если в блоке if или else присутствует более одной строки кода, важно использовать фигурные скобки {}. Их отсутствие может привести к непредсказуемому поведению программы.

Пример ошибки:

				
					public class Main {
    public static void main(String[] args) {
        int number = 10;

        if (number > 5)
            System.out.println("The number is greater than 5.");
            System.out.println("This line is always executed.");
    }
}

				
			

Здесь вторая строка внутри блока if не связана с условием и будет выполняться всегда.

Правильный код:

				
					public class Main {
    public static void main(String[] args) {
        int number = 10;

        if (number > 5) {
            System.out.println("The number is greater than 5.");
            System.out.println("This line is only executed if the number is greater than 5.");
        }
    }
}

				
			

7.2 Ошибка: Лишние проверки в else if

Иногда разработчики включают в else if проверки, которые являются избыточными, так как предыдущие условия уже исключили их выполнение.

Пример ошибки:

				
					public class Main {
    public static void main(String[] args) {
        int number = 10;

        if (number > 10) {
            System.out.println("The number is greater than 10.");
        } else if (number <= 10 && number >= 5) {
            System.out.println("The number is between 5 and 10.");
        } else {
            System.out.println("The number is less than 5.");
        }
    }
}

				
			

Здесь проверка number <= 10 в else if избыточна, так как она подразумевается, когда первое условие (number > 10) ложно.

Правильный код:

				
					public class Main {
    public static void main(String[] args) {
        int number = 10;

        if (number > 10) {
            System.out.println("The number is greater than 10.");
        } else if (number >= 5) {
            System.out.println("The number is between 5 and 10.");
        } else {
            System.out.println("The number is less than 5.");
        }
    }
}

				
			

Заключение

Конструкция if является основным элементом для принятия решений в программах на Java. С её помощью можно проверять условия и управлять тем, какой код будет выполнен. При использовании if, else if и else важно соблюдать правильную структуру и избегать распространенных ошибок, таких как отсутствие скобок или избыточные проверки.

8. Тестовое задание

  1. Напишите программу, которая принимает на вход возраст пользователя и выводит сообщение:

    • «You are a child.» если возраст меньше 13 лет.
    • «You are a teenager.» если возраст от 13 до 19 лет включительно.
    • «You are an adult.» если возраст 20 лет и более.
  2. Создайте программу, которая принимает два числа и выводит:

    • «The first number is greater.» если первое число больше второго.
    • «The second number is greater.» если второе число больше первого.
    • «Both numbers are equal.» если числа равны.

Пример решения:

				
					public class Main {
    public static void main(String[] args) {
        int age = 15;

        // Проверка возраста
        if (age < 13) {
            System.out.println("You are a child.");
        } else if (age >= 13 && age <= 19) {
            System.out.println("You are a teenager.");
        } else {
            System.out.println("You are an adult.");
        }

        int num1 = 10;
        int num2 = 20;

        // Сравнение двух чисел
        if (num1 > num2) {
            System.out.println("The first number is greater.");
        } else if (num1 < num2) {
            System.out.println("The second number is greater.");
        } else {
            System.out.println("Both numbers are equal.");
        }
    }
}

				
			

Проверьте свою программу, чтобы убедиться, что она правильно выполняет все операции и обрабатывает возможные ошибки.

logo