Merhabalar, bugün ki dersimizde Java programlama dilinde Koşul ifadelerini öğreneceğiz. Bu ifadeler yapılan her projede mutlaka kullanılmıştır. Oldukça basit ve işlevsel olan bu ifadeleri yapacağımız örneklerle kolaylıkla anlayabileceksiniz.
Öncelikle koşul ifadeleri nelerdir? Ne için kullanılır? Ne gibi kolaylıklar sağlar? Bu ifadeleri nerelerde kullanmalıyız? Evet… Bu soruların cevabını bulmakla dersimize başlayalım. Koşul ifadeleri adından da anlaşılacağı gibi, koşul sunularak yapılan işlemlere denir. Örneğin x sayısı 5 e eşitse şunu yap, ya da adı Ahmet ise şu işlemleri yap gibi koşul gerektiren işlemlerde kolaylık sağlayan ifadelerdir. if, else if, switch gibi yapılar bu koşul ifadelerine örnektir. if deyimi, tahmin edeceğiniz gibi eğer anlamı taşımaktadır. Eğer şu ise bunu yap, gibi kullanımları mevcuttur. Tek koşul yazılacağı gibi birden çok koşulda ifade edilebilir. Örneğin if(adi = Ahmet && yas > 15) deyimi, adı ahmet olanları ve aynı zamanda yaşı 15’ten büyük olanları sağlayan koşulu ifade eder. Burada yer alan && operatörü ise, koşulları birbirine bağlayarak iki durumun sağlanması durumunda geçerli olmasını sağlamaktadır. Bu operatöre “ve” operatörü denmektedir. O yüzden eğer koşulları anlamak istiyorsak önce bu operatörleri anlamamız gerekmektedir. Bunu da anlamanın en iyi yolu örneklerle pekiştirmekten geçer.
&& ( ve operatörü – and ) = Bütün şartların sağlanması durumunda true dönmektedir. Aksi halde şartlardan biri sağlanmadığı takdirde false dönerek, koşul ifadesinin içine girmez.
|| ( veya-ya da operatörü – or ) = Şartlardan bir koşulun sağlanması durumunda true değeri döner. Tüm şartların sağlanmadığı durumda ise false değeri döner.
== ( eşittir operatörü – equal ) = İfadelerin birbirine eşit olması durumunda, true değeri döner. Tüm şartların sağlanmadığı durumda ise false değeri döner.
!= ( eşit değil operatörü ) = İfadelerin birbirine eşit olmaması durumunda true değeri döner. Tüm şartların sağlanmadığı durumda ise false değeri döner.
> ( büyüktür operatörü ) = Soldaki ifadenin sağdaki ifadeden büyük olması durumunda true, aksi halde false değerini döner.
< ( küçüktür operatörü ) = Soldaki ifadenin sağdaki ifadeden küçük olması durumunda true, aksi halde false değerini döner.
>= ( büyük eşittir operatörü ) = Soldaki ifadenin sağdaki ifadeden büyük veya eşit olması durumunda true, aksi halde false değerini döner.
<= ( küçük eşittir operatörü ) = Soldaki ifadenin sağdaki ifadeden küçük veya eşit olması durumunda true, aksi halde false değerini döner.
Bunlara ek olarak, aynı matematikte öğrendiğimiz gibi, işlem önceliği bu operatörlerde de bulunmaktadır. Parantez içindeki ifadeler her zaman önceliklidir. Buna dikkat etmek gerekir.
Şimdi bu operatörleri öğrendiğimize göre, koşul ifadelerine geçebiliriz.
İlk öğreneceğimiz yapı if olsun. Aşağıda yazılan komutları inceleyelim.
IF Koşul İfadesi
[java] public class KosulIfadeleri {
public static void main(String[] args) {
// TODO Auto-generated method stub
int xSayisi = 5;
boolean durum = false;
String isim = "Ali Demirci";
String ikinciIsim = "Ali Demirci";
if(xSayisi == 5){ // xSayisi 5 e eşit olduğu için parantez içine girer
System.out.println("xSayisi(5) == 5"); // bu durum sağlanır
}
if(xSayisi != 4){ // xSayisi 4 e eşit olmadığı için parantez içine girer
System.out.println("xSayisi(5) != 4 "); // bu durum sağlanır
}
if(durum){ // durum false olduğu için parantez içi sağlanamaz.
System.out.println("durum"); // bu durum sağlanamaz
}
if(!durum){ // !durum true olduğu için parantez içi sağlanır
System.out.println("!durum"); // bu durum sağlanır
}
if(isim =="Ali Demirci"){ // Bu durum sağlanır.
System.out.println("isim == Ali Demirci"); // bu durum sağlanır
}
if(isim == ikinciIsim){ // Bu durum sağlanır
System.out.println("isim == ikinciIsim"); // bu durum sağlanır
}
if(isim.equals("Ali Demirci")){ // Bu durum sağlanır. Equals eşitliği String olarak kontrol eder.
System.out.println("isim.equals(Ali Demirci)"); // bu durum sağlanır
}
if(durum || isim.equals("Ali Demirci")){// durum = false, isim.equals("Ali Demirci") = true döner. Durum sağlanır
System.out.println("durum || isim.equals(Ali Demirci)"); // bu durum sağlanır
}
if(durum && isim.equals("Ali Demirci")){// durum = false, isim.equals("Ali Demirci") = true döner. Durum sağlanmaz
System.out.println("durum || isim.equals(Ali Demirci)"); // bu durum sağlanmaz
}
}
}
[/java]
Üstteki ifadelerin yanlarına açıklamaları ile belirttim. Son olarak ekran çıktısını paylaşayım.
IF – Else if Koşul İfadesi
if yapısını anladığınızı düşünüyorum. Şimdi if yapısının yancısı diyeceğimiz, else if yapısını anlayalım. Öncelikle şunu belirteyim, else if yapısı if olmadan kullanılamaz. Yani ben direk else if yazayım diye sakın başlamayın. Hata alırsınız. Else if yapısının mantığı şudur. Komutlar derlenirken, if yapısı sağlanmıyorsa, hemen sonraki satırdaki else if yapısı derlenmeye başlanır. Yine koşul sağlanmıyorsa, eğer bir altında else if varsa orası derlenir. Aksi halde, koşul sağlandığı takdirde aşağısındaki else if ve else yapıları derlenmez. Else yapısı ise tüm koşullar ifade edildikten sonra, hiçbir koşulun sağlanmadığı durumları belirtmek için kullanılır. Yani if ve else if yapılarının hiçbirinin koşulunun sağlanmadığını düşünün. Hemen en altta yer alması gereken else koşul ifadesi varsa, derleme yüzde yüz oraya girer ve else koşulunun içerisindeki komutlar derlenir.
Umarım bu anlattığımı anlamışsınızdır. Zaten vereceğim örnekle pekişecektir. Şimdi aşağıdaki örneği inceleyelim.
[java] public class KosulIfadeleri {public static void main(String[] args) {
// TODO Auto-generated method stub
int xSayisi = 5;
boolean durum = false;
String isim = "Ali Demirci";
if(durum){ // durum false olduğu için parantez içi sağlanamaz.
System.out.println("durum"); // bu durum sağlanamaz
}else if(xSayisi == 5){ // xSayisi 5 e eşit olduğu için parantez içine girer
System.out.println("xSayisi(5) == 5"); // bu durum sağlanır
}else{
System.out.println("Else 1");
}
if(durum && isim.equals("Ali Demirci")){// durum = false, isim.equals("Ali Demirci") = true döner. Durum sağlanmaz
System.out.println("durum || isim.equals(Ali Demirci)"); // bu durum sağlanmaz
}else if(durum){ // durum false olduğu için parantez içi sağlanamaz.
System.out.println("durum"); // bu durum sağlanamaz
}else{
System.out.println("Else 2");
}
}
}
[/java]
Evet… Üstteki komutları incelediğinizde anlamadığınız bir yer olursa yorum olarak belirtebilirsiniz. Şimdi yeni koşul ifademiz olan switch yapısına geçelim. Bunu da aşağıdaki örnekle anlamaya çalışalım.
Switch-Case Koşul İfadesi
[java] public class KosulIfadeleri {
public static void main(String[] args) {
// TODO Auto-generated method stub
int xSayisi = 5;
switch (xSayisi) {
case 1:
System.out.println("x sayisi 1’dir"); // koşul sağlanmadığı için konsola bu çıktıyı vermez
break; // koşul sağlanırsa aşağıdaki koşullara bakmadan switch yapısından çıkmasını sağlar
case 5:
System.out.println("x sayısı 5’tir"); // koşul sağlandığı için konsol da yazar
default:
System.out.println("Koşul sağlanmaz. "); // break komutu üstte verilmediği için bu komut da konsola yazar
break;
}
}
}
[/java]
Evet gördüğünüz üzere switch yapısının da oldukça basit bir kullanımı var. Dikkat etmemiz gereken nokta, break komutunu mutlaka yazmamız gerekliliği. Üstteki örnek de bunu anlatmaya çalıştım.
Ayrıca default ifadesini else gibi düşünebiliriz. Koşullar sağlanmadığı takdirde default ifadesi derlenecektir.
Şimdi aşağıdaki örnekte, break komutu eklenmiş halini inceleyebilirsiniz.
[java] public class KosulIfadeleri {
public static void main(String[] args) {
// TODO Auto-generated method stub
int xSayisi = 5;
switch (xSayisi) {
case 1:
System.out.println("x sayisi 1’dir"); // koşul sağlanmadığı için konsola bu çıktıyı vermez
break; // koşul sağlanırsa aşağıdaki koşullara bakmadan switch yapısından çıkmasını sağlar
case 5:
System.out.println("x sayısı 5’tir"); // koşul sağlandığı için konsol da yazar
break;
default:
System.out.println("Koşul sağlanmaz. ");
break;
}
}
}
[/java]
Ekran Çıktısı :
Evet… Bugün ki dersimiz bu kadar. Anlamadığınız bir konu olursa, yorum kısmına belirtmeyi unutmayın. Okuduğunuz için teşekkür ederim.