Понятие условного оператора if
Условные операторы работают с использованием логических выражений типа if/else, а затем операторов, оценивающих, считаются ли данные истинными или ложными. Если описанное условие соответствует ситуации, действие может быть выполнено. Пример такого типа операторов — пароль на компьютере. Если пользователь вводит пароль, оператор использует истинный или ложный ответ для предоставления или ограничения доступа. Когда компьютер выполняет один условный оператор вместо другого на основе результата вычисленного условия — это называется ветвлением.
Оператор if — наиболее простая форма условного выражения. Он проверяет, является ли условие истинным. Если это так, программа выполняет блок кода. На основе этих операторов if выполняет блочный оператор или переходит к следующему. Примером этого может служить платформа онлайн-покупок, предлагающая скидку, если стоимость корзины клиента превышает определенную сумму.
Примеры использования if
Язык Python
Условием может быть любое выражение, которое принимает логическое значение (True или False). Если условие истинно, будет выполнен блок кода с отступом под оператором if. Если условие ложно, блок кода будет пропущен.
Вот пример того, как использовать оператор if для проверки того, считается ли число положительным:
num = 5
if num > 0:
print("The number is positive.")
Output:
The number is positive.
Еще один пример:
class Main:
def main():
x = 10
# Check if x is greater than 0
if x > 0:
print("x is positive") # Print a message if x is positive
if __name__ == "__main__":
main()
Output
x is positive
Язык C
Этот пример демонстрирует простой вариант использования оператора if. Он определяет, что значение переменной меньше 20, и сообщает об этом пользователю.
#include <stdio.h>
int main (){
/* local variable declaration */
int a;
// run the program for different values of "a"
// Assign 12 first and 40 afterwards
a = 12; //change to 40 and run again
printf("Value of a is : %d\n", a);
// check the boolean condition using if statement
if(a < 20){
//if the condition is true, then print the following
printf("a is less than 20\n" );
}
return 0;
}
Value of a is : 12
a is less than 20
Язык С++
Если логическое выражение принимает значение true, то будет выполнен блок кода внутри инструкции if. Если логическое выражение принимает значение false, то будет выполнен первый набор кода после завершения инструкции if (после закрывающей фигурной скобки):
#include <iostream>
using namespace std;
int main () {
// local variable declaration:
int a = 10;
// check the boolean condition
if( a < 20 ) {
// if condition is true then print the following
cout << "a is less than 20;" << endl;
}
cout << "value of a is : " << a << endl;
return 0;
}
Output
a is less than 20;
value of a is : 10
JavaScript
Оператор if в JavaScript используется для условного выполнения. Он вычисляет условие, заключенное в круглые скобки, и выполняет блок кода, если условие истинно.
let userInput = prompt("Enter your age:");
if (userInput >= 18) {
console.log("You are eligible to vote.");
}
В этом примере используется функция prompt для получения возраста пользователя в качестве входных данных. Затем оператор if проверяет, превышает ли введенный возраст 18 лет. Если значение равно true, на консоль выводится сообщение You are eligible to vote.
Java
Пример:
public class IfExample {
public static void main(String[] args) {
int number = 10;
if (number > 5) {
System.out.println("The number is greater than 5.");
}
}
}
В этом примере значение условия number > 5 равно true, поскольку число равно 10. Так на консоль выводится сообщение The number is greater than 5.
Условные конструкции: if-else и elif
If может использоваться для проверки одного условия, а if-else применяется для того, чтобы проверить несколько. Пример того, как использовать оператор if-else для проверки того, относится ли число к положительным или к отрицательным:
num = -5
if num > 0:
print("The number is positive.")
else:
print("The number is negative.")
Output:
The number is negative.
Оператор elif позволяет последовательно проверять несколько условий и выполнять разные блоки кода в зависимости от того, какое из условий истинно. elif — это сокращение от «else if». Пример того, как использовать оператор if-elif-else для проверки чисел:
num = 0
if num > 0:
print("The number is positive.")
elif num <
Более сложный пример — изучение дома. Сначала нужно определить две переменные room и area. Затем создать условия if-elif-else и if-else для каждого из них.
В первом случае проверяем, просматривается ли кухня. Если нет, вы просматриваете спальню, в другом случае вы осматриваетесь в другом месте. В зависимости от значения переменной room выполняется условие, удовлетворяющее требованиям. Аналогично, для переменной area вы записываете условия if и else и проверяете, больше 15 кв.м. площадь помещения или нет. Код:
# Define variables
room = "bed"
area = 14.0
# if-elif-else construct for room
if room == "kit":
print("Looking around in the kitchen.")
elif room == "bed":
print("Looking around in the bedroom.")
else:
print("Looking around elsewhere.")
# if-elif-else construct for area
if area > 15:
print("Big place!")
else:
print("Pretty small.")
Output:
Looking around in the bedroom. Pretty small.
Рекомендации по применению условий
Простота. Важно не усложнять выполнение условных обозначений. Длинные условия могут стать сложными для понимания, подобно предложению со слишком большим количеством придаточных. Из-за них будет трудно запомнить основную мысль. Это может создать путаницу для других пользователей, которые могут прочитать код позже, или для вас, когда вы вернетесь к нему. Простые условия делают логику кода понятной и облегчают обнаружение ошибок: гораздо проще выявить потенциальные ошибки в знакомой формулировке.
Описательные названия переменных и функций. Переменные, которые содержат данные, а также функции, выполняющие конкретные задачи, должны иметь понятные названия.Эта простая привычка улучшает читаемость кода, позволяет другим пользователям понять его функциональность. Использование общих названий увеличивает вероятность недопонимания между коллегами, что замедляет процесс разработки.
Круглые скобки. Используя логические операторы в условии if, мы ставим круглые скобки для группировки условий. Это нужно, чтобы порядок вычисления соответствовал заданному.
Защитные предложения. Это предварительные возвраты или выходы в «if», которые проверяют недопустимые условия и обрабатывают их отдельно. Размещение этих проверок в начале функции или блока устраняет ненужную вложенность и улучшает читаемость кода.
Проверка. Автоматизированное тестирование может помочь выявить логические ошибки. Если во время тестирования найдутся сложные операторы типа «if», лучше преобразовать их в более мелкие и удобные для управления разделы. Рефакторинг делает код более читаемым, улучшает удобство сопровождения и снижает риск возникновения ошибок.