SORU
28 NİSAN 2009, Salı


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 false getAwayCount() denir.

Doğru mu? Bu oluşturmak nedir?

CEVAP
28 NİSAN 2009, Salı


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 

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Garrett Müller

    Garrett Mül

    26 HAZİRAN 2009
  • majesticdubstep

    majesticdubs

    3 Kasım 2011
  • Max Lee

    Max Lee

    18 AĞUSTOS 2006