SORU
16 NİSAN 2015, PERŞEMBE


Neden bu deyimi, atama ve eşitlik denetimi ile, yanlış değerlendiriyor?

Nasıl bir Java yokdeyimbu bir ayrıcalık ve ne zaman bir eşitlik birlikte OR-d kontrol?

public static void test() {
    boolean test1 = true; 
    if (test1 = false || test1 == false) {
        System.out.println("TRUE");
    } else {
        System.out.println("FALSE");
    }       
}

Neden bu YANLIŞ baskı mı?

CEVAP
16 NİSAN 2015, PERŞEMBE


İfade düşündüğün gibi değil ayrıştırılır. Değil

(test1=false) || (test1 == false)

bu durumda sonuç true olurdu ama

test1 = (false || test1 == false)

false || test1 == false ifadenin değeri ilk bilgisayarlı ve test1 true hesaplama girmek için ayarlandığından, 9**.

Bu sebepten, ayrıştırılmış bu şekilde precedence || daha düşük == operatör, ama daha yüksek öncelik atama operatörü =.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • André Frizzo

    André Frizz

    16 Aralık 2006
  • Digital Bounds

    Digital Boun

    19 Temmuz 2013
  • kylelandry

    kylelandry

    9 AĞUSTOS 2007