if / else deyimi yerine kullanılabilecek bir seçenek de ? üçlü operatörüdür. Üçlü (ternary) operatör denmesinin nedeni doğal olarak üç tane operand ile işlem görmesidir.
? operatörü ile kontrol yapısının yazılış biçimi aşağıdaki gibidir:
İfade1 ? İfade2:İfade3;
Çalışma biçimi şu şekildedir:
İfade1 hesaplanır. İfade1’in değeri doğru (true) ise bu durumda ifade2 hesaplanır ve bir sonraki deyime geçilir. İfade1’in değeri yanlış (false) ise, ifade3 hesaplanır ve bir sonraki deyime geçilir.
? operatörü ile oluşturulan yukardaki kalıp,
if(ifade1) ifade2
else ifade3;
yapısına denktir.
? operatörü, ifade1’in doğru ya da yanlış olması durumunda sadece bir deyimin çalıştırılacağı durumlar için if / else yapısı yerine kullanılabilir. İfade2 ve ifade3 yerinde fonksiyonlar da bulunabilir.
import java.io.IOException;
import java.util.Scanner;
public class Soru
{
public static void main(String args[]) throws IOException
{
Scanner giris = new Scanner(System.in);
String sonuc; double not;
System.out.println("Sinav notunu (0-100) giriniz: ");
not = giris.nextDouble();
sonuc = not >= 50 ? "Basarili" : "Basarisiz";
System.out.println("Sonuc: "+sonuc);
}
}