У цій статті ми дізнаємося, як використовувати оператор if, if … else, if … else if у C # для управління потоком виконання нашої програми.
Тестування умови неминуче при програмуванні. Ми часто стикаємося з ситуаціями , коли нам потрібно умови випробувань (будь то true
або false
) для управління потоком програми. На ці умови може впливати введення користувача, фактор часу, поточне середовище, де працює програма тощо.
У цій статті ми навчимося тестувати умови, використовуючи оператор if у C #.
C # if (якщо-тоді) Заява
Оператор C # if-then виконає блок коду, якщо задана умова відповідає істині. Синтаксис оператора if-then у C #:
if (boolean-expression) (// оператори виконуються, якщо boolean-expression є true)
- Булевий вираз поверне або true, або
false
. - Якщо логічне вираз повертається
true
, оператори всередині тіла if (inside(… )
) будуть виконані. - Якщо логічне вираз повертається
false
, оператори всередині тіла if будуть проігноровані.
Наприклад,
if (число <5) (число + = 5;)
У цьому прикладі твердження
число + = 5;
буде виконано лише в тому випадку, якщо значення числа менше 5.
Пам'ятаєте оператор + =?
Як якщо оператор працює?
Приклад 1: Заява C # if
using System; namespace Conditional ( class IfStatement ( public static void Main(string() args) ( int number = 2; if (number < 5) ( Console.WriteLine("(0) is less than 5", number); ) Console.WriteLine("This statement is always executed."); ) ) )
Коли ми запускаємо програму, результат буде:
2 менше 5 Це твердження виконується завжди.
Значення числа ініціалізується до 2. Тож вираз number < 5
обчислюється як true
. Отже, виконується код всередині блоку if. Код після оператора if завжди буде виконуватися незалежно від виразу.
Тепер змініть значення числа на щось більше, ніж 5
, скажімо 10
. Коли ми запускаємо програму, результат буде:
Це твердження виконується завжди.
Вираз number < 5
повернеться false
, отже, код всередині, якщо блок не буде виконаний.
C # if … else (if-then-else) Заява
Оператор if у C # може мати необов'язковий оператор else. Блок коду всередині оператора else буде виконаний, якщо вираз оцінено як false
.
Синтаксис оператора if … else у C #:
if (boolean-expression) (// оператори виконуються, якщо boolean-expression є true) else (// оператори виконуються, якщо boolean-expression невірно)
Наприклад,
if (число <5) (число + = 5;) ще (число - = 5;)
У цьому прикладі твердження
число + = 5;
буде виконано, лише якщо значення числа менше ніж 5
.
Заява
число - = 5;
буде виконано, якщо значення числа більше або дорівнює 5
.
Як якщо… ще Заява працює?
Приклад 2: Заява C # if … else
using System; namespace Conditional ( class IfElseStatement ( public static void Main(string() args) ( int number = 12; if (number < 5) ( Console.WriteLine("(0) is less than 5", number); ) else ( Console.WriteLine("(0) is greater than or equal to 5", number); ) Console.WriteLine("This statement is always executed."); ) ) )
Коли ми запускаємо програму, результат буде:
12 більше або дорівнює 5 Цей оператор завжди виконується.
Тут значення числа ініціалізується на 12
. Отже, вираз number < 5
оцінюється як false
. Отже, виконується код всередині блоку else. Код після оператора if … else завжди буде виконуватися незалежно від виразу.
Тепер змініть значення числа на щось менше, ніж 5
, скажімо 2
. Коли ми запускаємо програму, результат буде:
2 менше 5 Це твердження виконується завжди.
Вираз number < 5
поверне true, отже, код всередині, якщо блок буде виконаний.
Тернарний оператор у C # надає ярлик для оператора C # if … else.
C # if … else if (if-then-else if) Заява
Коли у нас є лише одна умова для перевірки, твердження if-then та if-then-else чудово працює. Але що, якщо ми маємо кілька умов для тестування та виконання одного з багатьох блоків коду.
For such case, we can use if… else if statement in C#. The syntax for if… else if statement is:
if (boolean-expression-1) ( // statements executed if boolean-expression-1 is true ) else if (boolean-expression-2) ( // statements executed if boolean-expression-2 is true ) else if (boolean-expression-3) ( // statements executed if boolean-expression-3 is true )… else ( // statements executed if all above expressions are false )
The if… else if statement is executed from the top to bottom. As soon as a test expression is true
, the code inside of that if ( or else if ) block is executed. Then the control jumps out of the if… else if block.
If none of the expression is true
, the code inside the else block is executed.
Alternatively, we can use switch statement in such condition.
Example 3: C# if… else if Statement
using System; namespace Conditional ( class IfElseIfStatement ( public static void Main(string() args) ( int number = 12; if (number 5) ( Console.WriteLine("(0) is greater than 5", number); ) else ( Console.WriteLine("(0) is equal to 5"); ) ) ) )
When we run the program, the output will be:
12 is greater than 5
The value of number is initialized to 12
. The first test expression number < 5
is false
, so the control will move to the else if block. The test expression number> 5
is true
hence the block of code inside else if will be executed.
Similarly, we can change the value of number
to alter the flow of execution.
Nested if… else Statement
An if… else statement can exist within another if… else statement. Such statements are called nested if… else statement.
The general structure of nested if… else statement is:
if (булевий вираз) (if (вкладений вираз-1) (// код, який буде виконаний) else (// код, який буде виконаний)) else (якщо (вкладений вираз-2) (// код, який буде виконано ) else (// код для виконання))
Вкладені оператори if зазвичай використовуються, коли нам потрібно перевірити одну умову, а потім іншу. У вкладеному операторі if, якщо зовнішній оператор if повертає true, він надходить у тіло, щоб перевірити внутрішній оператор if.
Приклад 4: Вкладено заяву if … else
Наступна програма обчислює найбільше число серед 3 чисел за допомогою вкладеного оператора if … else.
using System; namespace Conditional ( class Nested ( public static void Main(string() args) ( int first = 7, second = -23, third = 13; if (first> second) ( if (firstNumber> third) ( Console.WriteLine("(0) is the largest", first); ) else ( Console.WriteLine("(0) is the largest", third); ) ) else ( if (second> third) ( Console.WriteLine("(0) is the largest", second); ) else ( Console.WriteLine("(0) is the largest", third); ) ) ) ) )
Коли ми запускаємо програму, результат буде:
13 - найбільший