Bu makalede, programımızın yürütme akışını kontrol etmek için C # 'da if, if… else, if… else if ifadesinin nasıl kullanılacağını öğreneceğiz.
Programlamada bir koşulu test etmek kaçınılmazdır. Programın akışını kontrol etmek için koşulları test etmemiz gereken durumlarla sık sık karşılaşacağız (öyle olsun true
veya olmasın false
). Bu koşullar kullanıcının girdisi, zaman faktörü, programın çalıştığı mevcut ortam vb. Tarafından etkilenebilir.
Bu makalede, C # 'ta if ifadesini kullanarak koşulları test etmeyi öğreneceğiz.
C # if (if-then) İfadesi
C # if-then ifadesi, verilen koşul doğruysa bir kod bloğu yürütür. C # 'ta if-then ifadesinin sözdizimi şöyledir:
if (boolean-expression) (// mantıksal ifade doğruysa deyimler çalıştırılır)
- Boole ifadesi, true veya
false
. - Boole ifadesi dönerse
true
, if (inside(… )
) gövdesi içindeki ifadeler çalıştırılır. - Boole ifadesi dönerse
false
, if'in gövdesi içindeki ifadeler göz ardı edilir.
Örneğin,
eğer (sayı <5) (sayı + = 5;)
Bu örnekte ifade
sayı + = 5;
yalnızca sayı değeri 5'ten küçükse çalıştırılır.
+ = Operatörünü hatırlıyor musunuz?
İfade nasıl çalışır?
Örnek 1: C # if İfadesi
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."); ) ) )
Programı çalıştırdığımızda çıktı şöyle olacaktır:
2, 5'ten küçüktür Bu ifade her zaman yürütülür.
Number değeri 2 olarak başlatılır. Böylece ifade number < 5
olarak değerlendirilir true
. Bu nedenle, if bloğunun içindeki kod çalıştırılır. İf ifadesinden sonraki kod, ifadeden bağımsız olarak her zaman çalıştırılacaktır.
Şimdi sayının değerini 5
diyelim ki bundan daha büyük bir şeye değiştirin 10
. Programı çalıştırdığımızda çıktı şöyle olacaktır:
Bu ifade her zaman yürütülür.
İfade number < 5
geri dönecektir false
, dolayısıyla eğer blok çalıştırılmazsa içindeki kod.
C # if… else (if-then-else) İfadesi
C # 'teki if ifadesi isteğe bağlı else ifadesine sahip olabilir. Ifade değerlendirilirse, else deyiminin içindeki kod bloğu çalıştırılacaktır false
.
C #'daki if… else ifadesinin sözdizimi şöyledir:
if (boolean-ifade) (// mantıksal ifade doğruysa çalıştırılan deyimler) else (// mantıksal ifade yanlışsa deyimler çalıştırılır)
Örneğin,
eğer (sayı <5) (sayı + = 5;) başka (sayı - = 5;)
Bu örnekte ifade
sayı + = 5;
yalnızca sayı değeri değerinden küçükse çalıştırılır 5
.
İfade
sayı - = 5;
sayı değeri değerine eşit veya daha büyükse çalıştırılacaktır 5
.
How if… else Statement çalışır?
Örnek 2: C # if… else İfadesi
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."); ) ) )
Programı çalıştırdığımızda çıktı şöyle olacaktır:
12, 5'ten büyük veya 5'e eşittir Bu ifade her zaman yürütülür.
Burada sayı değeri olarak başlatılır 12
. Böylece ifade number < 5
değerlendirilir false
. Bu nedenle, else bloğunun içindeki kod çalıştırılır. İf… else ifadesinden sonraki kod, ifadeye bakılmaksızın her zaman çalıştırılacaktır.
Şimdi sayının değerini 5
diyelim ki daha küçük bir şeye değiştirin 2
. Programı çalıştırdığımızda çıktı şöyle olacaktır:
2, 5'ten küçüktür Bu ifade her zaman yürütülür.
İfade number < 5
true döndürecektir, dolayısıyla if bloğunun içindeki kod çalıştırılacaktır.
C #'daki üçlü operatör, C # if… else ifadesi için bir kısayol sağlar.
C # if… else if (if-then-else if) İfadesi
Test edilecek tek bir koşulumuz olduğunda, if-then ve if-then-else ifadesi iyi çalışıyor. Peki ya birçok kod bloğundan birini test etmek ve yürütmek için birden fazla koşulumuz varsa?
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) (// çalıştırılacak kod) else (// yürütülecek kod)) else (if (nested-expression-2) (// çalıştırılacak kod ) else (// çalıştırılacak kod))
İç içe geçmiş if ifadeleri genellikle bir koşulu ve ardından diğerini test etmemiz gerektiğinde kullanılır. İç içe geçmiş bir if ifadesinde, dış if ifadesi true döndürürse, iç if ifadesini kontrol etmek için gövdeye girer.
Örnek 4: İç içe geçmiş if… else İfadesi
Aşağıdaki program, iç içe geçmiş if… else ifadesini kullanarak 3 sayı arasındaki en büyük sayıyı hesaplar.
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); ) ) ) ) )
Programı çalıştırdığımızda çıktı şöyle olacaktır:
13 en büyüğü