SORU
25 Kasım 2009, ÇARŞAMBA


İf && (VE) ve || (VEYA)

Benim sorum çok basit olabilir ama yine de sormak değerlerimiz bence. Aşağıdaki kodu var:

if(!partialHits.get(req_nr).containsKey(z) || partialHits.get(req_nr).get(z) < tmpmap.get(z)){  
    partialHits.get(z).put(z, tmpmap.get(z));  
}

partialHits HashMap. Eğer ilk ifade doğru ise ne olacak? Java hala ikinci ifadeyi kontrol edecek? Gerçek olmak için ilk ifade için çünkü, HashMap, verilen anahtar içermemelidir, eğer ikinci ifade işaretli ise, NullPointerException alacağım.
Basit bir deyişle, Eğer aşağıdaki kodu var

if(a && b)  
if(a || b)

eğer a ikinci durumda ise true Java a ilk durumda false ise b kontrol eder ve?

CEVAP
25 Kasım 2009, ÇARŞAMBA


Değerlendirilecektir. Ve bu çok yararlı olur. Test etmek gerekir gibi, Eğer bir Dize null veya boş ise, yazabilirsiniz:

if (str != null && !str.isEmpty()) {
  doSomethingWith(str.charAt(0));
}

ya da tam tersi

if (str == null || str.isEmpty()) {
  complainAboutUnusableString();
} else {
  doSomethingWith(str.charAt(0));
}

Eğer olsaydık eğer ... 'kısa devre' Java kod yukarıdaki satırlar bir NullPointerExceptions bir sürü almak istiyoruz.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Absolute Zero(Programming Tutorials)

    Absolute Zer

    22 Kasım 2012
  • ArkticPlanet

    ArkticPlanet

    9 ŞUBAT 2010
  • Michael Neal

    Michael Neal

    2 Mayıs 2009