Bu eğitimde, örnekler yardımıyla Java if ve if… else ifadelerini kullanarak kontrol akışı ifadelerini öğreneceksiniz.
Bilgisayar programlamasında, programın akışını kontrol etmek için if ifadesini kullanırız. Örneğin, belirli bir koşul karşılanırsa, belirli bir kod bloğu çalıştırın. Aksi takdirde, başka bir kod çalıştırın.
Örneğin, bir öğrenci tarafından elde edilen yüzdeye göre notların (A, B, C) verilmesi.
- yüzde 90'ın üzerindeyse , A notu verin
- yüzde 75'in üzerindeyse , B notu verin
- yüzde 65'in üzerindeyse , C notu verin
if… else
Java'da üç tür ifade vardır.
- eğer ifadesi
- if … else ifadesi
- if… else if… else ifadesi
- İç içe geçmiş if… else ifadesi
1. Java if (if-then) İfadesi
If-then ifadesinin sözdizimi :
if (condition) ( // statements )
Burada koşul, bir boole ifadesidir. Ya true
veya döndürür false
.
- koşul olarak değerlendirilirse
true
, gövdesi içindeki ifadelerif
çalıştırılır - koşul olarak değerlendirilirse
false
, gövdesi içindeki ifadelerif
atlanır
İfade nasıl çalışır?

Örnek 1: Java if İfadesi
class IfStatement ( public static void main(String() args) ( int number = 10; // checks if number is greater than 0 if (number> 0) ( System.out.println("The number is positive."); ) System.out.println("Statement outside if block"); ) )
Çıktı
Sayı pozitif. Eğer blok dışında ifade
Yukarıdaki örnekte number adında bir değişken oluşturduk. Test durumuna dikkat edin,
number> 0
Burada koşul, sayının 0'dan büyük olup olmadığını kontrol ediyor . Sayı 0'dan büyük olduğu için koşul değerlendirilir true
.
Değişkeni negatif bir tam sayıya değiştirirsek. -5 diyelim .
int number = -5;
Şimdi, programı çalıştırdığımızda çıktı şöyle olacak:
Statement outside if block
Bunun nedeni sayı değerinin 0'dan küçük olmasıdır . Bu nedenle, koşul değerlendirilir false
. Ve if
bloğun gövdesi atlandı.
Not : Koşul ifadesi hakkında bilgi edinmek için Java Relational Operators ve Java Logical Operators sayfasını ziyaret ettiğinizden emin olun.
Java Strings'i test koşulu olarak da kullanabiliriz.
Örnek 2: Dizeli ise Java
class Main ( public static void main(String() args) ( // create a string variable String language = "Java"; // if statement if (language == "Java") ( System.out.println("Best Programming Language"); ) ) )
Çıktı
En İyi Programlama Dili
Yukarıdaki örnekte, if
bloktaki iki dizgiyi karşılaştırıyoruz .
2. Java if… else (if-then-else) İfadesi
if
Test sentezleme için değerlendirilir halinde ifadesi kodu belli bir bölümünü yürütür true
. Ancak, test ifadesi olarak değerlendirilirse false
hiçbir şey yapmaz.
Bu durumda isteğe bağlı bir else
blok kullanabiliriz . else
Blok gövdesi içindeki ifadeler, test ifadesi olarak değerlendirilirse yürütülür false
. Bu, Java'da if-… else ifadesi olarak bilinir .
İf … else ifadesinin sözdizimi şöyledir:
if (condition) ( // codes in if block ) else ( // codes in else block )
Burada program, koşulsa bir görevi ( if
blok içindeki kodlar ), koşul ise true
başka bir görevi ( else
blok içindeki kodlar ) gerçekleştirecektir false
.
İf… else ifadesi nasıl çalışır?

Örnek 3: Java if… else İfadesi
class Main ( public static void main(String() args) ( int number = 10; // checks if number is greater than 0 if (number> 0) ( System.out.println("The number is positive."); ) // execute this block // if number is not greater than 0 else ( System.out.println("The number is not positive."); ) System.out.println("Statement outside if… else block"); ) )
Çıktı
Sayı pozitif. If … else block dışında ifade
Yukarıdaki örnekte sayı adında bir değişkenimiz var. Burada test ifadesi number> 0
, sayının 0'dan büyük olup olmadığını kontrol eder.
Sayının değeri 10 olduğundan test ifadesi olarak değerlendirilir true
. Bu nedenle, gövdesinin içindeki kod if
çalıştırılır.
Şimdi, sayının değerini negatif bir tamsayı olarak değiştirin. -5 diyelim.
int number = -5;
Programı yeni sayı değeri ile çalıştırırsak, çıktı şöyle olacaktır:
Sayı pozitif değil. If … else block dışında ifade
Burada sayı değeri -5'tir. Yani test ifadesi olarak değerlendirilir false
. Bu nedenle, gövdesinin içindeki kod else
çalıştırılır.
3. Java if… else… if İfadesi
Java'da, birden fazla blok arasında bir kod bloğunu çalıştırmak için kullanılabilecek bir if… else… if ladder var.
if (condition1) ( // codes ) else if(condition2) ( // codes ) else if (condition3) ( // codes )… else ( // codes )
Burada if
ifadeler yukarıdan aşağıya doğru yürütülür. Test koşulu olduğunda true
, o if
bloğun gövdesi içindeki kodlar yürütülür. Ve program kontrolü if… else… if merdiveninin dışına atlar .
Tüm test ifadeleri false
öyleyse, gövdesinin içindeki kodlar else
çalıştırılır.
Nasıl eğer… başka… merdiven çalışıyorsa?

Örnek 4: Java if… else… if İfadesi
class Main ( public static void main(String() args) ( int number = 0; // checks if number is greater than 0 if (number> 0) ( System.out.println("The number is positive."); ) // checks if number is less than 0 else if (number < 0) ( System.out.println("The number is negative."); ) // if both condition is false else ( System.out.println("The number is 0."); ) ) )
Çıktı
Sayı 0'dır.
In the above example, we are checking whether number is positive, negative, or zero. Here, we have two condition expressions:
number> 0
- checks if number is greater than 0number < 0
- checks if number is less than 0
Here, the value of number is 0. So both the conditions evaluate to false
. Hence the statement inside the body of else
is executed.
Note: Java provides a special operator called ternary operator, which is a kind of shorthand notation of if… else… if statement. To learn about the ternary operator, visit Java Ternary Operator.
4. Java Nested if… else Statement
Java'da, if… else
bir if… else
ifadenin içinde ifadeler kullanmak da mümkündür . İç içe if… else
ifade denir .
İç içe geçmiş ifadeyi kullanarak en büyük 3 sayıyı bulmak için bir program if… else
.
Örnek 5: İç içe geçmiş if… else İfadesi
class Main ( public static void main(String() args) ( // declaring double type variables Double n1 = -1.0, n2 = 4.5, n3 = -5.3, largest; // checks if n1 is greater than or equal to n2 if (n1>= n2) ( // if… else statement inside the if block // checks if n1 is greater than or equal to n3 if (n1>= n3) ( largest = n1; ) else ( largest = n3; ) ) else ( // if… else statement inside else block // checks if n2 is greater than or equal to n3 if (n2>= n3) ( largest = n2; ) else ( largest = n3; ) ) System.out.println("Largest Number: " + largest); ) )
Çıktı :
En Büyük Sayı: 4,5
Yukarıdaki programlarda, bunu kolaylaştırmak için değişkenlerin değerini kendimize atadık.
Bununla birlikte, gerçek dünya uygulamalarında bu değerler, kullanıcı giriş verilerinden, günlük dosyalarından, form gönderiminden vb. Gelebilir.