C # if, if ... else, if ... else if in Nested if Statement (z primeri)

V tem članku se bomo naučili, kako uporabiti stavek if, if … else, if … else if v C # za nadzor poteka izvajanja našega programa.

Testiranje stanja je pri programiranju neizogibno. Pogosto se bomo soočili s situacijami, ko moramo preizkusiti pogoje (ali so trueali false) za nadzor poteka programa. Na te pogoje lahko vplivajo vnos uporabnika, časovni faktor, trenutno okolje, v katerem se program izvaja itd.

V tem članku se bomo naučili preizkušati pogoje z uporabo stavka if v C #.

Izjava C # if (če-takrat)

Stavek C # if-then bo izvedel blok kode, če je dani pogoj resničen. Sintaksa stavka if-then v C # je:

 if (boolean-expression) (// stavki se izvajajo, če je boolean-izraz true) 
  • Logični izraz bo vrnil true ali false.
  • Če se vrne logični izraz true, bodo stavki znotraj telesa if (znotraj (… )) izvedeni.
  • Če se vrne logični izraz false, bodo stavki znotraj telesa if prezrti.

Na primer

 če (število <5) (število + = 5;) 

V tem primeru stavek

 število + = 5;

se izvede samo, če je vrednost števila manjša od 5.

Se spomnite operaterja + =?

Kako, če stavek deluje?

Primer 1: Izjava 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."); ) ) ) 

Ko zaženemo program, bo rezultat:

 2 je manj kot 5 Ta stavek se vedno izvrši.

Vrednost števila je inicializirana na 2. Torej je izraz number < 5ovrednoten z true. Zato se koda znotraj bloka if izvrši. Koda za stavkom if se bo vedno izvajala ne glede na izraz.

Zdaj spremenite vrednost številke na nekaj večjega od 5recimo 10. Ko zaženemo program, bo rezultat:

 Ta izjava se vedno izvrši.

Izraz se number < 5bo vrnil false, torej koda znotraj, če blok ne bo izveden.

Izjava C # if … else (if-then-else)

Stavek if v C # ima lahko neobvezen stavek else. Blok kode znotraj stavka else se izvede, če izraz izračunate do false.

Sintaksa stavka if … else v C # je:

 if (boolean-expression) (// stavki se izvajajo, če je boolean-izraz true) else (// stavki se izvajajo, če je boolean-izraz false) 

Na primer

 if (število <5) (število + = 5;) else (število - = 5;) 

V tem primeru stavek

 število + = 5;

se izvede samo, če je vrednost števila manjša od 5.

Izjava

 število - = 5;

se izvede, če je vrednost števila večja ali enaka 5.

Kako, če… druga izjava deluje?

Primer 2: Izjava 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."); ) ) ) 

Ko zaženemo program, bo rezultat:

 12 je večje ali enako 5 Ta stavek se vedno izvrši.

Tu se vrednost številke inicializira na 12. Torej je izraz number < 5ovrednoten do false. Zato se koda znotraj bloka else izvede. Koda za stavkom if … else se bo vedno izvedla ne glede na izraz.

Zdaj spremenite vrednost številke na nekaj manj kot 5recimo 2. Ko zaženemo program, bo rezultat:

 2 je manj kot 5 Ta stavek se vedno izvrši.

Izraz number < 5bo vrnil true, zato bo koda znotraj, če bo blok izveden.

Ternarni operator v C # ponuja bližnjico do stavka C # if … else.

C # if … else if (if-then-else if) Izjava

Ko imamo samo en pogoj za preizkus, stavek if-then in if-then-else deluje v redu. Kaj pa, če imamo več pogojev za testiranje in izvajanje enega od številnih blokov kode.

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 (ugnezdeni izraz-1) (// koda, ki jo je treba izvesti) else (// koda, ki jo je treba izvesti)) else (if (ugnezdeni izraz-2) (// koda, ki jo je treba izvršiti ) else (// koda za izvedbo)) 

Vgnezdeno, če se stavki običajno uporabljajo, kadar moramo preizkusiti en pogoj, ki mu sledi drugi. Če ugnezdeni stavek if vrne stavek »zunanji if« true, vstopi v telo, da preveri notranji stavek if.

Primer 4: izjava ugnezdena, če … drugače

Naslednji program izračuna največje število med 3 številkami z uporabo ugnezdenega stavka 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); ) ) ) ) ) 

Ko zaženemo program, bo rezultat:

 13 je največji

Zanimive Članki...