Java Programlama

Java Koşul ve İf Yapıları

► Detaylı anlatım

Java program dosyalarında yer alan işlem satırları normal koşullarda yukarıdan aşağıya sırasıyla çalıştırılır. Ancak, bazı işlem satırlarının belirli koşulların sağlandığı durumlarda çalıştırılması gerekebilir. Bu durumlarda if kalıpları kullanılır.

if kalıbı tek başına, else deyimi ile birlikte, else if deyimi ile birlikte veya her ikisi ile birlikte kullanılabilir.

/* if kalıbının tek başına kullanımı */
if (ifade) {
    işlem-satırı;
    işlem-satırı;
    .
}

/* if kalıbının else deyimi ile birlikte kullanımı */
if (ifade) {
   işlem-satırı;
   işlem-satırı;
   .
}  
else {
   işlem-satırı;
   işlem-satırı;
   .
}
	
/* if else if kalıbı */
if(ifade) işlem-satırı
else if(ifade) işlem-satırı
else if(ifade) işlem-satırı
.
else if(ifade) işlem-satırı
else işlem-satırı

if, else ve ya else ile ilgili çalışacak tek bir işlem satırı varsa { } işaretleri kullanmak tercihe bağlıdır. Ancak, çalışacak bir kod bloğu varsa mutlaka kullanılmalıdır.

if : Eğer if ile başlayan satırda if deyiminden sonra yer alan parantezler içindeki ifade doğru ise (ifade sonucu 0'dan farklı ise) aynı satırda if kalıbından sonra yer alan işlem satırı çalışır. Eğer ifade yanlış ise (ifade sonucu 0'a eşit ise) if kalıbından ile ilgili işlem satırı devre dışı kalır. Yani, program o işlem satırı hiç yazılmamış gibi bir sonraki işlem satırından çalışmaya devam eder.

else : Eğer if satırında yer alan ifadenin sonucu doğru ise, program if satırındaki işlem satırının gereğini yerine getirir, else satırına hiçbir işlem yapmaz. Eğer if satırında yer alan ifade yanlış ise, program if satırını dikkate almaz, else satırındaki işlem satırının gereğini yerine getirir. Program iki satırdan sadece bir tanesini dikkate almak zorundadır.

if else if : if-else-if kalıbında, bir if satırı, istediğiniz sayıda else if satırı ve isteğe bağlı olarak tanımlanan bir else satırı bulunur. Yani, else satırının tanımlanması şart değildir. Program, en başta yer alan if satırı ile if-else-if kalıbını değerlendirmeye başlar. İlk doğru ifadenin bulunduğu if veya else if satırı ile karşılaştığında ilgili işlem satırını çalıştırır. Kalıbın geri kalan tüm satırlarını değerlendirmeye almadan geçer. Eğer if ve else if satırlarında yer alan ifadelerden hiç biri doğru bir sonuç vermezse, else satırında yer alan işlem satırını çalıştırır. else satırı da mevcut değilse, program if-else-if kalıbının hiç bir satırını çalıştırmadan bir sonraki satırdan çalışmasına devam eder. if-else-if kalıbında sadece tek bir satır işlem görür.

Aşağıdaki program, if satırındaki koşul doğru sonuç verirse, if ifadesinden sonra yer alan işlem satırı çalışır, aksi takdirde else if satırına geçilir. Eğer buradaki ifade doğru sonuç verirse işlem satırı çalışır, aksi takdirde else satırında yer alan işlem satırı herhangi bir koşul kontrolü yapılmadan çalışır:

public class javaprog {
  public static void main(String args[]){
    int id1 = 4, id2 = 11;

    if(id1 > id2) System.out.println("id1 değişkeni id2 değişkeninden büyüktür!");
    else if(id1 < id2) System.out.println("id1 değişkeni id2 değişkeninden küçüktür!");
    else System.out.println("id1 ve id2 değişkenleri eşittir!");
	
    System.out.println(id1+id2);
  }
}

Yukarıdaki programı çalıştırdığınızda, ekran çıktısı aşağıdaki şekilde olacaktır:

C:\>javac javaprog.java
C:\>java -Dfile.encoding=Cp857 javaprog
id1 değişkeni id2 değişkeninden küçüktür!
15