16/05/2015 10

Javada If Sorguları ve Sorgu Depoları

If ifadesi : Bu bir kod alanı değerlendirme yapar. Eğer değerlendirme sonucu doğru ise bloktaki kodları çalıştırır. Eğer Yanlış ise else-if veya else değerlendirmelerine gider.

Alanlar : If değerlendirmeleri bir çok programda kullanılır. Ve bunların alanları olarakta binary unary operatorler kullanılır. Mesela bir binary operatörünün iki çeşit veri türü vardır. Bunlar birli veriler ve tek veri.

If, else : Program if komutunu bir döngü olarak algılar. Ve bunun yanında else-if ve else komutlarıda vardır. Ama bu döngü yineleyici bir döngü değildir. Örnek olarak for döngüsü kodları sürekli yineler.

Else : Else komutu ise eğer değerlendirme şartlarına hiç birisi uymuyorsa devreye girer. Yani şartlar uymuyorsa else'nin altındaki kod bloğu çalışır.

Şimdi bu öğrendiklerimizle bir örnek yapalım. Örneğimizi Java Console Uygulaması ile yapalım... Java 7 Consol Uygulaması  

public class Program {

public static void main(String[] args) {

// for döngüsü ile üç sayılı bir döngü oluşturduk...

for (int i = 0; i <= 2; i++)
      {
// burda eğer i değeri 0 ise ekrana Sıfır Yazdır Dedik...

 if (i == 0) {
		System.out.println("Sıfır");
	    }
// burda eğer i değeri 1 ise ekrana Bir Yazdır Dedik...

else if (i == 1) {
		System.out.println("Bir");
	    }
// burda eğer i ikiside değilse ekrana Hiçbiri  Yazdır Dedik...

 else {
		System.out.println("HiçBiri");
	    }
}

}

}

 

Programın Çıktısıda Aşağıdaki Gibi Olacaktır...

Sıfır
Bir
Hiçbiri

Karşılaştırma Operatörleri : Sayıları Karşılaştırmak için iki tane eşittir işareti (==) kullanılır. Bu bir kuraldır. Bu doğru veya yanlış sonuç değerlendirmesi yapar. Karşılaştırma işleminin atama (eşitleme) işlemi ile karışmaması için bu şekilde kullanılır.

Eşit Değil Operatörü : İki tane değerin eşit olmadığını algılamak için kullanılır. Kullanılan Operatör ise " != " şeklindedir.

Bazen bütün bir alanın tamamının eşit olmadığını kontrol etmek daha kolaydır. Yani bunu " if not - Eğer Değilse" mantığıyla kullanabiliriz...

Şimdi Eşitlik sorgulamalarıyla bir örnek yapalım  

public class Program {

public static void main(String[] args) {

int sayi = 5;

// Burda eşit değildir kullanımını görüyoruz

if (sayi != 6) {
	    System.out.println("Sayı 6 Değil");
	}

// Burdada başka şekilde eşit değil sorgulamasını yapıyoruz

if (!(sayi == 6)) {
	    System.out.println("Sayı 6 değil");
	}

// Burdada Eşitmi diye sorgulama yapıyoruz

if (sayi == 6) {
	    System.out.println("Sayı 6");
	}

// Burdada Eşitmi diye sorgulama yapıyoruz
       else	if ((sayi == 5)) {
	    System.out.println("Sayı 5");
	}
    }
}
 

çıktı ise
Sayı 6 Değil
Sayı 6 değil
Sayı 5

Şeklinde bir çıktı alacağız

Ve - Veya : Genellikle birbirine bağlı sorgularımızı zincirleme şeklinde yaparız. Buda ektra karışıklık demek. Bunu önlemek için ve-veya kullanarak tek bir satırda çok fazla sorguyu aynı anda yapabiliriz. Bunu yapmak için ve(&&) - veya(||) operatörlerini kullanırız.

Ve (&&) : Bunu kullanırken sorguların tamamı doğru olmak durumundaysa bloktaki kodlar çalışır. Veya (||) : Burda ise bloktaki kodlardan sadece birtanesi doğru olması yeterlidir.

Şimdi bunları kullanan bir java programı yazalım.  

public class Program {
    public static void main(String[] args) {

	int a= 10;
	int b= 5;

	// Her ikisininde doğru olması gerekmektedir
	if (a== 10 && b== 5) {
	    System.out.println(a=10 ve b=5");
	}

	// Sadece bir tanesinin doğru olması yeterlidir.
	if (a == 100 || b> 5) {
	    System.out.println("Kod çalıştı...");
	}
    }
}

Program Çıktısı
a=10 ve b=5
Kod çalıştı...

Boolean, Sorgu Depoları. if sorguları bazen çok karmaşık olabilir. Bu karmaşıklığı gidermek için Sorgu depoları kullanılır. Sorgu depolarında sonuclar bir boolean değişkeninde tutulur. ve if içinde boolean durumu kontrol edilir. Yani 5 tane kontrol yapılacakken sadece bir tane yapılıyor. Buda programın daha hızlı çalışmasını sağlar.

Şimdi Bu konu ile ilgili bir örnek Yapalım  

public class Program {
    public static void main(String[] args) {

	int a= 10;
	int b= 15;
	int c= 200;

	// Burada boolean değişkenimizi tanımladık ve değerlerini atadık
	boolean depo = a<= 10 && b<= 20;

	// Burdada sorgumuzu yaptık
	if (depo&& c<= 150) {
	    System.out.println("Doğru");
	} else {
	    System.out.println("Yanlış");
	}
    }
}
 

Program Çıktısı
Yanlış

True ve false Sonuçları: Bir boolean değişkeninin sonucu sadece True veya False olabilir. Eğer tanımlanan durum doğru sonuç veriyorsa Dönüt olarak True; Eğer yanlışsa False sonucunu verir. True ve False ile ilgili bir program yapalım.

 

public class Program {
    public static void main(String[] args) {

	boolean dogru= true;
	boolean yanlis= false;

                     // Burda bunların doğruluk değerlerini kontrol ediyoruz. yanlis değişkeninin başına (!) işaretini, koymamızın sebebi onun zıttını almamızdır.yani değeri false ise onu true yapmaktır
	if (dogru && !yanlis) {
	    System.out.println(true);
	}
    }
}
 

Program Çıktısı
true

If sorgularını yeniden sıralama :

If sorguları ardışık olarak değerlendirilir. Yani Arka arkaya değerlendirilir. İlk sorgu alanı ilk olarak değerlendirilir. Performansı arttırmak için bunu değiştirebiliriz.

Teşekkür ederim

Burak Hamdi TUFAN


Tags

Share this Post



Post a Comment

Success! Your comment sent to post. It will be showed after confirmation.
Error! There was an error sending your comment.

Comments

    There is no comment. Be the owner of first comment...