Java mı nedir: operatör aradı ve ne işe yarar?
Birkaç yıl Java ile çalışıyorum, ama yakın zamana kadar bu yapı üzerinde çalıştırmak alamadım:
int count = isHere ? getHereCount(index) : getAwayCount(index);
Bu muhtemelen çok basit bir soru olacak ama biri bunu açıklayabilir mi? Nasıl okurum? Nasıl çalıştığını biliyorum eminim.
- eğer
isHere
gerçek,getHereCount()
denir - eğer
isHere
falsegetAwayCount()
denir.
Doğru mu? Bu oluşturmak nedir?
CEVAP
Evet, kestirme bir şeklidir
int count;
if (isHere)
count = getHereCount(index);
else
count = getAwayCount(index);
Bu deniyorkoşullu operatör. Birçok kişi (yanlış) diyoruzüçlü operatörJava, C, C sadece üçlü (üç bağımsız değişken) operatör olduğu için , ve muhtemelen diğer birçok dil. Ama teorik olarak varolabilirsadece bir tane olabilir, oysa başka bir değişken olabilirkoşullu operatör.
Resmi adı Java Language Specification olarak verilmektedir
15.25 §Koşullu Operatör ? :
Koşullu operatörü
? :
bir ifadenin boolean değeri değerlendirilmelidir yararlanır.
Her iki branşta dönüş: yöntemlerine neden gerektiğini unutmayın
Ya ikinci ya da geçersiz bir yöntem çağırma üçüncü işlenen ifadesi için derleme zamanı hatası.
İfade ifadelerin dilbilgisi (§14.8) aslında, geçersiz bir yöntem çağırma görünebilir bu bağlamda görünmesini koşullu bir ifade için izin verilmez.
doSomething()
doSomethingElse()
void yöntemleri, bu sıkıştırma:
if (someBool)
doSomething();
else
doSomethingElse();
bu içine:
someBool ? doSomething() : doSomethingElse();
Basit kelimeler:
booleanCondition ? executeThisPartIfBooleanConditionIsTrue : executeThisPartIfBooleanConditionIsFalse
ETMENİZ için Java karşılığı nedir?...
C Çifti eşdeğer<L,R> Java nedir?...
Java singleton deseni uygulamak için e...
Yumuşak bir referans ve Java zayıf bir...
Java bir Toplama filtresi için en iyi ...