Ц # иф, иф ... елсе, иф ... елсе иф и Нестед иф Статемент (са примерима)

У овом чланку ћемо научити како да користимо наредбу иф, иф … елсе, иф … елсе иф у Ц # за контролу тока извршавања нашег програма.

Тестирање услова је неизбежно у програмирању. Ми ћемо се често суочавају са ситуацијама где треба да се условима тестирања (да ли је trueили false) да контролише проток програма. На ове услове могу утицати унос корисника, фактор времена, тренутно окружење у којем се програм изводи итд.

У овом чланку научићемо да тестирамо услове користећи наредбу иф у Ц #.

Изјава Ц # ако (ако-тада)

Изјава Ц # иф-тхен извршиће блок кода ако је дати услов тачан. Синтакса наредбе иф-тхен у Ц # је:

 иф (боолеан-екпрессион) (// изрази се извршавају ако је боолеан-израз тачно) 
  • Боолеан-израз ће вратити или труе или false.
  • Ако се логички израз врати true, (… )извршиће се изрази унутар тела иф (унутра ).
  • Ако се логички израз врати false, изрази унутар тела иф биће занемарени.

На пример,

 ако (број <5) (број + = 5;) 

У овом примеру изјава

 број + = 5;

извршиће се само ако је вредност броја мања од 5.

Сећате се оператора + =?

Како ако изјава функционише?

Пример 1: Изјава Ц # иф

 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. Дакле, код унутар блока иф се извршава. Код иза наредбе иф увек ће се извршавати без обзира на израз.

Сада промените вредност броја у нешто веће од 5рецимо 10. Када покренемо програм, излаз ће бити:

 Ова изјава се увек извршава.

Израз number < 5ће се вратити false, дакле код изнутра ако се блок неће извршити.

Ц # иф … елсе (иф-тхен-елсе) Изјава

Наредба иф у Ц # може имати опционалну наредбу елсе. Блок кода унутар наредбе елсе извршиће се ако се израз процењује на false.

Синтакса наредбе иф … елсе у Ц # је:

 иф (боолеан-екпрессион) (// наредбе извршене ако је боолеан-израз тачно) елсе (// изрази извршене ако је боолеан-израз нетачан) 

На пример,

 иф (нумбер <5) (нумбер + = 5;) елсе (број - = 5;) 

У овом примеру изјава

 број + = 5;

извршиће се само ако је вредност броја мања од 5.

Изјава

 број - = 5;

извршиће се ако је вредност броја већа или једнака 5.

Како ако … друго Изјава функционише?

Пример 2: Изјава Ц # иф… елсе

 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. Стога се извршава код унутар блока елсе. Код након наредбе иф … елсе увек ће се извршити без обзира на израз.

Сада промените вредност броја на нешто мање од 5рецимо 2. Када покренемо програм, излаз ће бити:

 2 је мање од 5 Ова изјава се увек извршава.

Израз number < 5ће вратити тачно, отуда и код унутар кога ће се извршити блок.

Тернарни оператор у Ц # пружа пречицу за Ц # иф … елсе израз.

Ц # иф … елсе иф (иф-тхен-елсе иф) Изјава

Када имамо само један услов за тестирање, иф-тхен и иф-тхен-елсе изјава добро функционише. Али шта ако имамо вишеструки услов да тестирамо и извршимо један од многих блокова кода.

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:

 иф (боолеан-екпрессион) (иф (угнежђени-израз-1) (// код који треба извршити) елсе (// код који треба извршити)) елсе (иф (нестед-екпрессион-2) (// код који треба извршити ) елсе (// код који треба извршити)) 

Угнездено ако се изрази углавном користе када морамо да тестирамо један услов, а затим други. У угнежденој наредби иф, ако спољна наредба иф врати труе, она улази у тело да би проверила унутрашњу иф наредбу.

Пример 4: Угњежђена изјава иф … елсе

Следећи програм израчунава највећи број између 3 броја користећи угнеждену иф … елсе наредбу.

 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 је највећи

Занимљиви Чланци...