9.2 Kontrol İfadeleri – if -else if
If-else if, if-else’in kademeli olarak genişletilmesiyle oluşuyor.İç içe geçmiş if – else ifadeleri hem okunabilirlik hemde programlama açısından zor olabilir.else if çoklu koşulları denerken oldukça kullanışlıdır. If-else yazısında blok{} kullanmadan tek bir ifade yazılabileceğini söylemiştik.else if ifadesinin bundan yararlandığını aşağıdaki birinci örnekten görebilirsiniz. if,else if ifadeleri Switch ifadesine göre çoğunlukla yavaştır ve Switch ifadesinin aksine kompleks expressionlar içerebilir.
if(Boolean_expression 1){
//Boolean expression 1 true dönerse yürütülecek.
}else if(Boolean_expression 2){
//Boolean expression 2 true dönerse yürütülecek.
}else if(Boolean_expression 3){
//Boolean expression 3 true dönerse yürütülecek.
}else {
//Yukardakilerden hiçbiri true dönmezse yürütülecek.
}
Son satırdaki else ifadesi en yakındaki(yukarı doğru) if’e aitdir.İkinci örneğe bakarak bu durumu daha kolay anlayabilirsiniz.
int not = 63;
if (not >= 90) {
System.out.println("Notunuz A");
} else if (not >= 80) {
System.out.println("Notunuz B");
} else if (not >= 70) {
System.out.println("Notunuz C");
} else if (not >= 60) {
System.out.println("Notunuz D");
} else {
System.out.println("Notunuz F");
}
Çıktı;
Notunuz D
else if ifadesinin if else ifadesinin genişletilmişi olduğunu söylemiştik.else if kullanmadan da benzer uygulamayı yapalım.
if (not >= 90) {
System.out.println("Notunuz A");
} else {
if (not >= 80) {
System.out.println("Notunuz B");
} else {
if (not >= 70) {
System.out.println("Notunuz C");
} else {
if (not >= 60) {
System.out.println("Notunuz D");
} else {
System.out.println("Notunuz F");
}
}
}
}
Çıktı;
Notunuz D