În acest articol, vom învăța cum să folosim instrucțiunea if, if … else, if … else if în C # pentru a controla fluxul de execuție al programului nostru.
Testarea unei condiții este inevitabilă în programare. De multe ori ne vom confrunta cu situații în care trebuie să testăm condițiile (indiferent dacă este true
sau nu false
) pentru a controla fluxul programului. Aceste condiții pot fi afectate de introducerea utilizatorului, factorul de timp, mediul curent în care rulează programul etc.
În acest articol, vom învăța să testăm condițiile folosind instrucțiunea if din C #.
Declarație C # if (if-then)
Instrucțiunea C # if-then va executa un bloc de cod dacă condiția dată este adevărată. Sintaxa declarației if-then din C # este:
if (expresie booleană) (// instrucțiuni executate dacă expresia booleană este adevărată)
- Expresia booleană va reveni fie adevărată, fie
false
. - Dacă expresia booleană revine
true
, instrucțiunile din interiorul corpului if (în interior(… )
) vor fi executate. - Dacă expresia booleană revine
false
, instrucțiunile din corpul lui if vor fi ignorate.
De exemplu,
if (număr <5) (număr + = 5;)
În acest exemplu, afirmația
număr + = 5;
va fi executat numai dacă valoarea numărului este mai mică de 5.
Vă amintiți operatorul + =?
Cum funcționează declarația?
Exemplul 1: Declarație 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."); ) ) )
Când rulăm programul, ieșirea va fi:
2 este mai mic decât 5 Această instrucțiune este întotdeauna executată.
Valoarea numărului este inițializată la 2. Deci expresia number < 5
este evaluată la true
. Prin urmare, codul din interiorul blocului if sunt executate. Codul după instrucțiunea if va fi întotdeauna executat indiferent de expresie.
Acum, schimbați valoarea numărului cu ceva mai mare decât 5
, să zicem 10
. Când rulăm programul, ieșirea va fi:
Această declarație este întotdeauna executată.
Expresia number < 5
va reveni false
, deci codul din interior dacă blocul nu va fi executat.
C # if … else (if-then-else) Declarație
Instrucțiunea if din C # poate avea o instrucțiune else opțională. Blocul de cod din instrucțiunea else va fi executat dacă expresia este evaluată la false
.
Sintaxa afirmației if … else din C # este:
if (expresie booleană) (// instrucțiuni executate dacă expresia booleană este adevărată) else (// instrucțiuni executate dacă expresia booleană este falsă)
De exemplu,
if (număr <5) (număr + = 5;) altceva (număr - = 5;)
În acest exemplu, afirmația
număr + = 5;
va fi executat numai dacă valoarea numărului este mai mică decât 5
.
Declaratia
număr - = 5;
va fi executat dacă valoarea numărului este mai mare sau egală cu 5
.
Cum dacă… altfel funcționează declarația?
Exemplul 2: C # if … else Declarație
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."); ) ) )
Când rulăm programul, ieșirea va fi:
12 este mai mare sau egal cu 5 Această instrucțiune este întotdeauna executată.
Aici, valoarea numărului este inițializată la 12
. Deci expresia number < 5
este evaluată la false
. Prin urmare, codul din interiorul blocului else este executat. Codul după instrucțiunea if … else va fi întotdeauna executat indiferent de expresie.
Acum, schimbați valoarea numărului cu ceva mai mic decât 5
, să zicem 2
. Când rulăm programul, ieșirea va fi:
2 este mai mic decât 5 Această instrucțiune este întotdeauna executată.
Expresia number < 5
va reveni adevărată, de unde și codul din interior dacă blocul va fi executat.
Operatorul ternar din C # oferă o comandă rapidă pentru instrucțiunea C # if … else.
C # if … else if (if-then-else if) Declarație
Când avem o singură condiție de testat, declarația if-then și if-then-else funcționează bine. Dar dacă avem o condiție multiplă pentru a testa și executa unul dintre numeroasele blocuri de cod.
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 (expresie booleană) (if (expresie imbricată-1) (// cod de executat) else (// cod de executat)) else (if (expresie imbricată-2) (// cod de executat ) else (// codul de executat))
Cuibărit dacă instrucțiunile sunt utilizate în general atunci când trebuie să testăm o condiție urmată de alta. Într-o instrucțiune imbricată if, dacă instrucțiunea if exterioară revine adevărată, intră în corp pentru a verifica instrucțiunea if interioară.
Exemplul 4: Declarație imbricată dacă … else
Următorul program calculează cel mai mare număr dintre 3 numere folosind instrucțiunea imbricată 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); ) ) ) ) )
Când rulăm programul, ieșirea va fi:
13 este cel mai mare