C # if, if ... else, if ... else if a Nested if Statement (S príkladmi)

V tomto článku sa dozvieme, ako používať príkaz if, if … else, if … else if v C # na riadenie toku vykonávania nášho programu.

Testovanie podmienky je v programovaní nevyhnutné. Často sa stretneme so situáciami, keď musíme testovať podmienky (či už sú truealebo nie false), aby sme mohli riadiť priebeh programu. Tieto podmienky môžu byť ovplyvnené vstupom používateľa, časovým faktorom, aktuálnym prostredím, kde je program spustený, atď.

V tomto článku sa naučíme testovať podmienky pomocou príkazu if v C #.

Príkaz C # ak (ak-potom)

Príkaz C # if-then vykoná blok kódu, ak je daná podmienka pravdivá. Syntax príkazu if-then v C # je:

 if (boolean-expression) (// príkazy vykonané, ak je logický výraz true) 
  • Booleovský výraz vráti buď true, alebo false.
  • Ak sa booleovský výraz vráti true, (… )vykonajú sa príkazy v tele if (vo vnútri ).
  • Ak sa boolovský výraz vráti false, príkazy v tele if budú ignorované.

Napríklad,

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

V tomto príklade vyhlásenie

 číslo + = 5;

sa vykoná, iba ak je hodnota čísla menšia ako 5.

Pamätáte si na operátor + =?

Ako keď vyhlásenie funguje?

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

Keď spustíme program, výstup bude:

 2 je menej ako 5 Tento príkaz sa vykoná vždy.

Hodnota čísla je inicializovaná na 2. Takže výraz number < 5je vyhodnotený na true. Preto sa vykoná kód vo vnútri bloku if. Kód za príkazom if sa vždy vykoná bez ohľadu na výraz.

Teraz zmeňte hodnotu čísla na niečo väčšie, ako 5je napr 10. Keď spustíme program, výstup bude:

 Toto vyhlásenie sa vykoná vždy.

Ak sa blok nespustí, number < 5vráti sa výraz false, a teda aj kód vo vnútri.

Príkaz C # ak … else (if-then-else)

Príkaz if v C # môže mať voliteľný príkaz else. Blok kódu vo vnútri príkazu else sa vykoná, ak sa výraz vyhodnotí na false.

Syntax príkazu if … else v C # je:

 if (boolean-expression) (// príkazy vykonané, ak je booleovský výraz pravdivý) else (// príkazy vykonané, ak je booleovský výraz nepravdivý) 

Napríklad,

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

V tomto príklade vyhlásenie

 číslo + = 5;

sa vykoná, iba ak je hodnota čísla menšia ako 5.

Výkaz

 číslo - = 5;

sa vykoná, ak je hodnota čísla väčšia alebo rovná 5.

Ako keď … iné vyhlásenie funguje?

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

Keď spustíme program, výstup bude:

 12 je väčšie alebo rovné 5 Tento príkaz sa vykoná vždy.

Tu sa hodnota čísla inicializuje na 12. Výraz number < 5sa teda vyhodnotí na false. Preto sa vykoná kód vo vnútri bloku else. Kód za príkazom if … else bude vždy vykonaný bez ohľadu na výraz.

Teraz zmeňte hodnotu čísla na niečo menšie ako 5, povedzme 2. Keď spustíme program, výstup bude:

 2 je menej ako 5 Tento príkaz sa vykoná vždy.

Ak number < 5bude blok vykonaný, výraz vráti hodnotu true, a teda aj kód vo vnútri.

Ternárny operátor v C # poskytuje skratku pre príkaz C #, ak … else.

Príkaz C # ak … else if (if-then-else if)

Keď máme na otestovanie iba jednu podmienku, vyhlásenie if-then a if-then-else funguje dobre. Ale čo keď máme viac podmienok na otestovanie a vykonanie jedného z mnohých blokov 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) (// kód, ktorý sa má vykonať) else (// kód, ktorý sa má vykonať)) else (if (nested-expression-2) (// kód, ktorý sa má vykonať) ) else (// kód, ktorý sa má vykonať)) 

Vnorené, ak sa príkazy všeobecne používajú, keď musíme testovať jednu podmienku a potom druhú. Vo vnorenom príkaze if, ak vonkajší príkaz if vráti hodnotu true, vstúpi do tela a skontroluje vnútorný príkaz if.

Príklad 4: Vnorené, ak … else Výpis

Nasledujúci program počíta najväčšie číslo z 3 čísel pomocou vnoreného prí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); ) ) ) ) ) 

Keď spustíme program, výstup bude:

 13 je najväčší

Zaujímavé články...