SORU
8 Mart 2013, Cuma


Neden yok't post arttırma operatörü int döndüren bir yöntem üzerinde çalışıyor?

public void increment(){
    int zero = 0;

    int oneA = zero  ; // Compiles

    int oneB = 0  ; // Doesn't compile

    int oneC = getInt()  ; // Doesn't compile
}

private int getInt(){
    return 0;
}

İnt, neden B & C derlemek değil mi? hepsi operatör = 0 1; farklı yol ile bir alakası var mı?

İşlem için geçersiz bir argüman--/

CEVAP
8 Mart 2013, Cuma


i değişken i atama.

, zero sizin durumda zero = zero 1 bir eşdeğer. 0 hiç mantıklı değil 0 = 0 1, getInt() = getInt() 1 anlamına gelir.

Daha doğrusu :

int oneA = zero  ;

demektir

int oneA = zero;
zero = zero   1; // OK, oneA == 0, zero == 1

int oneB = 0  ;

demektir

int oneB = 0;
0 = 0   1; // wrong, can't assign value to a value.

int oneC = getInt()  ;

demektir

int oneC = getInt();
getInt() = getInt()   1; // wrong, can't assign value to a method return value.

Daha genel bir açıdan bakıldığında, bir değişkenL-değeribir bellek konumu ifade eder , ve bu nedenle atanabilir yani.LL-değer anlamına gelirsolyan atama operatörü (yani =), bile L-değerleri bulunabilir ya da sol veya sağ tarafında atama operatörü (x = y örneğin).

TersidirR-değeri(Rduruyordoğruatama operatör tarafı). R-L Değerler Değer bir şey atamak için atama deyimleri, sağ tarafı üzerinde kullanılabilir. Tipik olarak, Ar-hazır değerler (sayı, karakter dizeleri...) ve yöntemleri vardır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dirty Loops

    Dirty Loops

    21 Mayıs 2007
  • iMasterful

    iMasterful

    11 EYLÜL 2009
  • Utah Valley Online

    Utah Valley

    9 AĞUSTOS 2010