Java Ternary Operatörü, basitleştirilmiş bir if-else koşulu gibi çalışır. Ternary operatör, doğru ve ya yanlış olarak değerlendirilen bir koşulun yanı sıra koşul doğruysa döndürülen bir değer ve koşul yanlışsa döndürülen başka bir değerden oluşur. Basitçe bir örnekle bakalım:
If-Else örneği
1 2 3 4 5 6 7 8 |
int num = 3; String msg = ""; if(num > 5) { msg = "Number is greater than 5"; } else { msg = "Number is less than or equal to 5"; } |
Ternary Operator örneği
1 2 3 4 |
final String msg = num > 5 ? "Number is greater than 5" : "Number is less than or equal to 5"; |
Ternary operatörünün koşul kısmını bir soru işareti (?) takip eder. Soru işaretinden sonra, Ternary operatörünün iki nokta üst üste (:) ile ayrılmış olarak döndürebileceği iki değer vardır.
Döndüreceği iki değer vardır. Koşul bölümü doğru olarak değerlendirilirse, ilk değer döndürülür. Koşul bölümü yanlış olarak değerlendirilirse ikinci değer döndürülür.
Bu operatorun, basit if-else koşullarında kod okunabilirliğini arttırdığı aşikardır. Birden fazla koşul olduğu durumlarda ise kod anlaşılabilirliğini azalttığı için kullanımı önerilmez.
Ternary Operatorunu Null Check Olarak Kullanmak
Ternary operatorünü null check olarak kullanabiliriz: Basit bir örnekle nasıl kullanabileceğimize bakalım:
1 |
String value = object != null ? object.getValue() : null; |