Pereiti prie turinio

Laba reik pagalbos, mokinuosi Java reik paiskinimo uztrigau ties masyvais


Rekomenduojami pranešimai

Sveiki,

butu gerai, kad kas paiaskintu kaip cia viskas vyksta as suprantu kad id 0 x ir kad ciklas prasisuka per 3 ir baigiasi bet kaip is kur tos reference variables prilyginamos prie id, jes juoda ant balto parasyta kad HeapQuiz [ ] hq = new HeapQuiz();

 

 

public class HeapQuiz {

 

int id = 0;

public static void main (String [] args){

int x = 0;

HeapQuiz [] hq = new HeapQuiz[5];

while (x < 3){

hq[x] = new HeapQuiz();

hq[x].id = x;

x = x +1;

}

hq[3] = hq[1];

hq[4] = hq[1];

hq[3] = null;

hq[4] = hq[0];

hq[0] = hq[3];

hq[3] = hq[2];

hq[2] = hq[0];

// do stuff

}

}

 

 

 

 

 

tai kaip taip gaunasi kad :

 

hq[0] niekam nelygus

hq [1] lygus id1;

hq[2] nelygus niekam;

hq[3] lygus id2;

hq[4] lygus id = 0;

 

Cia mokinuosi is Head first Java.

aciu uz paaiskinimus.

post-118640-0-15186800-1522242678_thumb.jpg

post-118640-0-89129000-1522242695_thumb.jpg

Nuoroda į pranešimą
Dalintis kituose puslapiuose

tai kaip padaryta taip ir gaunasi :lol: ko čia nesupranti? tas pats kas int x = 5; ir klaustum kodėl x yra 5.

 

 

 

nzn kaip tau paaiskint. Tarkim ok pirmam cikle hq[x].id = x bus lygus 0, tai hQ irgi bus 0 ar kaip

antras ciklas x = 1 tai id = 1 ir kaip hq tada 1,

trecias ciklas x = 2 id 3 ir hq tada 2

 

 

o ats tada butu hq[0] = id0;

hq[1] = id1;

hq[2] = id2;

 

Tiesiog butu didelis aciu uz paiaiskinima kaip compiler daro viska

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nes kai priskiri objektui kita objektą naudojant ligybės ženklą, tai nenukopijuoji jo (id, šiuo atveju), o tik priskiri adresą atmintyje (reference). Kai naudoji žodį new, tai sukuri objektą heap atmintyje ir tau yra gražinamas adresas į ją, o ne duomenys.

 

Pvz.: hq[3] = null | hq[3] -> null

hq[0] = hq[3] | hq[0] -> null

hq[2] = hq[0] | hq[2] -> null

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nes kai priskiri objektui kita objektą naudojant ligybės ženklą, tai nenukopijuoji jo (id, šiuo atveju), o tik priskiri adresą atmintyje (reference). Kai naudoji žodį new, tai sukuri objektą heap atmintyje ir tau yra gražinamas adresas į ją, o ne duomenys.

 

Pvz.: hq[3] = null | hq[3] -> null

hq[0] = hq[3] | hq[0] -> null

hq[2] = hq[0] | hq[2] -> null

 

 

 

OK .

Aciu.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...