Java’da If, else, else if

____________________________________________________________________

If – then, else, else if işletmenleri en basit kontrol işletmenlerdir. Kodun bir bölümünün sadece belli bir ifade doğru (true) dönüyorsa çalıştırılmasını sağlarlar. Bunları biraz ayrıntılı inceleyelim.

If sadece takip eden parantezler içindeki ifadeler true dönüyorsa geçerlidir ve bu parantezden sonra gelen kodu çalıştırır. Ör:

if(5 > 3) {System.out.println(“Beş üçten büyüktür”);}

boolean abc = true;
if(abc){yapBirseyler();}
Buradaki köşeli parantezler isteğe bağlıdır yani ifade aşağıdaki gibi de yazılabilir:
boolean abc = true;
if(abc)  yapBirseyler();

Ancak bu şekilde kod yazmak kullanıcı için daha zor ve hata ayıklaması zor olacağından tavsiye edilmez.

Else if, eğer önceki if ifadesi doğru değilse else if ile tekrar bir kontrol yapılabilir. Else if en başta bir if olmak şartıyla istendiği kadar arka arkaya kullanılabilir. Ör:
int bes = 5;
if(bes == 1){…}
else if(bes == 3){…}
else if(bes == 5){…}

Else, daha önceki if veya else if ifadelerinden hiçbirinin doğru dönmemesi durumunda çalıştırılacak kodları barındırır. Ör:

int bes = 5;
if(bes == 1){…}
else if(bes == 3){…}
else if(bes == 4){…}
else {System.out.println(bes + ” hiç bir değere eşit değil.”);}

Else bu mantığı ile çoğu döngüde oldukça işe yarar, oluşabilecek farklı hatalara else ile önceden engel olmak mümkün.

Gelelim bu if ve else if içine ne yazılır. Sonucunda true veya false dönen herşey yazılır, bu bir boolean değeri olabilir, bir string veya int karşılaştırması, true veya false dönen ger tür metod olabilir. Ör;

String alfabe = “abc”;
if(“abc”.equals(alfabe)){…}
else if(alfabe.compareTo(“abc”) == 0){…}
else if(“def”.compareTo(“abc”) <= 0){…}
else if(alfabe.startsWith(“a”)){…}
if(alfabe.length() == 3){…}
Form form1;
if(Display.getDisplay(this).getCurrent() == form1){…}

Bu şekilde doğru veya yanlış dönen her ifade kullanılabilir, başka değerler dönen ifadeler kabul etmez, hata verir. Eğer ifade sadece doğru ve yanlış dönmeyecek ve farklı int değerleri gibi değerler dönecekse bu durumda switch kullanılabilir (Bkz. Java’da switch kullanımı).

Bkz. Java’da String karşılaştırma.