C # if, if ... else, if ... else if a Nested if Statement (With examples)

V tomto článku se naučíme, jak používat příkaz if, if … else, if … else if v C # k řízení toku provádění našeho programu.

Testování podmínky je v programování nevyhnutelné. Často budeme čelit situacím, kdy musíme testovat podmínky (ať už jsou truenebo jsou false), abychom mohli kontrolovat tok programu. Tyto podmínky mohou být ovlivněny vstupem uživatele, časovým faktorem, aktuálním prostředím, kde je spuštěn program atd.

V tomto článku se naučíme testovat podmínky pomocí příkazu if v C #.

Příkaz C # if (if-then)

Příkaz C # if-then provede blok kódu, pokud je daná podmínka pravdivá. Syntaxe příkazu if-then v C # je:

 if (boolean-expression) (// příkazy provedené, pokud je logický výraz true) 
  • Logický výraz vrátí buď true, nebo false.
  • Pokud se booleovský výraz vrátí true, budou provedeny příkazy uvnitř těla if (inside (… )).
  • Pokud se booleovský výraz vrátí false, budou příkazy uvnitř těla if ignorovány.

Například,

 if (number <5) (number + = 5;) 

V tomto příkladu prohlášení

 číslo + = 5;

bude provedeno, pouze pokud je hodnota čísla menší než 5.

Pamatujete operátor + =?

Jak když prohlášení funguje?

Příklad 1: Příkaz 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."); ) ) ) 

Když spustíme program, výstup bude:

 2 je menší než 5 Toto prohlášení je vždy provedeno.

Hodnota čísla je inicializována na 2. Takže výraz number < 5je vyhodnocen na true. Proto se provádí kód uvnitř bloku if. Kód po příkazu if bude vždy proveden bez ohledu na výraz.

Nyní změňte hodnotu čísla na něco většího, než 5řekněme 10. Když spustíme program, výstup bude:

 Toto prohlášení je vždy provedeno.

Výraz number < 5se vrátí false, a proto bude kód uvnitř, pokud nebude proveden blok.

Příkaz C # if … else (if-then-else)

Příkaz if v C # může mít volitelný jiný příkaz. Blok kódu uvnitř příkazu else bude proveden, pokud je výraz vyhodnocen na false.

Syntaxe příkazu if… else v C # je:

 if (boolean-expression) (// příkazy provedené, pokud je logický výraz pravdivý) else (// příkazy provedené, pokud je logický výraz nepravdivý) 

Například,

 if (number <5) (number + = 5;) else (number - = 5;) 

V tomto příkladu prohlášení

 číslo + = 5;

bude provedeno, pouze pokud je hodnota čísla menší než 5.

Prohlášení

 číslo - = 5;

bude provedeno, pokud je hodnota čísla větší nebo rovna 5.

Jak, když … jinak prohlášení funguje?

Příklad 2: Příkaz C # pokud… 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."); ) ) ) 

Když spustíme program, výstup bude:

 12 je větší nebo rovno 5 Tento příkaz je vždy proveden.

Zde je hodnota čísla inicializována na 12. Výraz number < 5je tedy vyhodnocen na false. Proto se provede kód uvnitř bloku else. Kód po příkazu if… else bude vždy proveden bez ohledu na výraz.

Nyní změňte hodnotu čísla na něco menšího než 5řekněme 2. Když spustíme program, výstup bude:

 2 je menší než 5 Toto prohlášení je vždy provedeno.

Výraz number < 5se vrátí true, proto bude kód uvnitř, pokud bude spuštěn blok.

Ternární operátor v C # poskytuje zkratku pro příkaz C # if… else.

Příkaz C # if … else if (if-then-else if)

Když máme k testování pouze jednu podmínku, příkaz if-then a if-then-else funguje dobře. Ale co když máme několik podmínek pro testování a provedení jednoho z mnoha bloků kódu.

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 (boolean-expression) (if (nested-expression-1) (// code to be executed) else (// code to be executed)) else (if (nested-expression-2) (// code to be executed) ) else (// kód, který se má provést)) 

Vnořené, pokud se příkazy obecně používají, když musíme testovat jednu podmínku následovanou druhou. Ve vnořeném příkazu if, pokud vnější příkaz if vrátí hodnotu true, vstoupí do těla, aby zkontroloval vnitřní příkaz if.

Příklad 4: Vnořeno, pokud … else Prohlášení

Následující program vypočítá největší číslo ze 3 čísel pomocí vnořeného příkazu 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); ) ) ) ) ) 

Když spustíme program, výstup bude:

 13 je největší

Zajímavé články...