Mobil Programlama

Android

DERS PROGRAMI
Android 101 Ders Programı

İç içe if Deyimleri

Lisans: Creative Commons 11.12.2020 tarihinde güncellendi
Bakabileceğiniz Etiketler: Eğitmen: Geleceği Yazanlar Ekibi

Tek bir if deyimi, programınızın iki seçenekten birini seçmesine olanak sağlar ve tüm dallanma bu kadardır. Öte yandan pratikte daha fazla dallanmaya ihtiyaç duyan uygulamalar yapmanız gerekir. Birinci karardan sonra ikinci, ikinciden sonra üçüncü kararın (dallanmanın) alınması gerekebilir. Bu şekilde giden bir program akışı için iç içe if deyimleri (nested if statements) kullanmalısınız.

Örneğin şöyle kullanabilirsiniz:

if (koşul) {
    //koşul 1'in komutları
    //if (koşul1a) {
    //koşul 1a'nın komutları
    //...
    }
}

İlk şartlı dallanmanın içinde tekrar bir şartlı dallanma yapmak gerektiğinde, iç içe if kullanabilirsiniz. Bunun kullanımına ilişkin şu örneğe göz atınız:



public class IcIceIfDeyimi1 {
    public static void main(String[] args) {
        int sinav1=45;
        int sinav2=50;
        int sinav3=66;

        //ortalama'yı float olarak alıyoruz. 
        float ortalama= (float) (sinav1+sinav2+sinav3)/3;
        String sonuc;

        if (ortalama<45) {
            //0-44 arası ortalama zayıf
            sonuc="Zayif";
        } else if (ortalama<55){
            //45-54 arası ortalama geçer
            sonuc="Gecer";
        } else if (ortalama<70) {
            //55-69 arası ortalamaya orta
            sonuc="Orta";
        } else if (ortalama<85) {
            //70-84 arası ortalamaya iyi
            sonuc="Iyi";
        } else {
            //başka bir sonuç kalmadığı için tekrar
            //if ile şart aramıyoruz
            sonuc="Pekiyi";
        }

        System.out.println("Ortalama: "+ortalama);
        System.out.println("Buna gore sonuc: "+sonuc);
    }

}

Programın sonucu şöyle olacaktır:

NOT: İç içe if kullanırken dikkat etmemiz gereken şey, koşulları yazarken programın adım adım bunları denetleyeceğini dikkate almamız gerektiğidir. En dıştaki veya en üstteki şart, ondan sonra gelenlerle çelişmemelidir.

Yukarıdaki if deyimlerini daha kısa olacak şekilde şöyle de yazabiliriz:

if (ortalama<45)
    sonuc="Zayif";
else if (ortalama<55)
    sonuc="Gecer";
else if (ortalama<70)
    sonuc="Orta";
else if (ortalama<85)
    sonuc="Iyi";
else
    sonuc="Pekiyi";

Bu şekilde bir yazım genelde if'ten sonraki komut/deyim tek satırlık olacaksa kullanışlıır.

Şimdi biraz daha gerçek bir iç içe if deyimi örneği üzerinde duralım. Bu örnekte kullanıcıdan 3 tane sayı girmesini istiyoruz ve bu 3 sayıdan en küçüğünü bulup ekrana basıyoruz.



import java.io.IOException;
import java.util.Scanner;

public class IcIceIfDeyimi2 {
    public static void main(String[] args) throws IOException {
        Scanner giris = new Scanner(System.in);

        int  a,b,c; //sayılar, bu değişkenlere 
        int enKucukSayi; //en küçüğü bir yerde tutalım

        System.out.println("Birinci sayiyi giriniz: ");
        a = giris.nextInt();

        System.out.println("Ikinci sayiyi giriniz: ");
        b=giris.nextInt();

        System.out.println("Ucuncu sayiyi giriniz: ");
        c=giris.nextInt();

        if (a < b) {
            if (a < c) {
                enKucukSayi=a;
            } else {
                enKucukSayi=c;
            }
        } else if (b < c) {
            enKucukSayi=b;
        } else {
            enKucukSayi=c;
        }

        System.out.println("En kucuk sayi: "+enKucukSayi);
    }
}

Bu kodu çalıştırdığınızda ve sayıları girdiğinizde şöyle bir çıktı oluşacaktır:

Bu örnekte üç sayıdan en küçüğünü bulabilmek için önce ilk iki sayıyı ele alıyoruz.

  • Önce ilk sayı ikinci sayıdan küçük mü diye (a < b) bakıyoruz.
    • Bu şart sağlanıyorsa bu sefer ilk sayıyla üçüncü sayıyı ele alıyoruz (a < c).
      • İlk sayı üçüncü sayıdan küçükse en küçük sayı ilk sayıdır.
      • İlk sayı üçüncü sayıdan küçük değilse en küçük sayı üçüncü sayıdır.
    • İlk sayının ikinci sayıdan küçük olma şartı sağlanmıyorsa ikinci ile üçüncü sayıyı ele alıyoruz (b < c).
      • İkinci sayı üçüncü sayıdan küçükse en küçük sayı ikinci sayıdır.
      • İkinci sayı üçüncü sayıdan küçük değilse en küçük sayı üçüncü sayıdır.


Bir sonraki derste if-else-if kullanımına dair örnekleri bulabilirsiniz.