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...
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
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.
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.
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
Comments