// demo02.ck // // Készítette: // Kaluzsa Péter - ELTE - 2012/2013-2 // // tömb típusok // // 10 hosszú int tömb, indexelés: 0..9 // minden indexen az alapértelmezett 0 érték van int intArray[10]; <<>>; <<>>; // tömb inicializálására is van mód // a tömbök objektumok, ezért az @=> operátor használandó [1,2,3,4,5] @=> int initArray[]; <<>>; for (0 => int i; i < initArray.size(); i++){ chout <= initArray[i] <= " ";} chout <= IO.newline(); // null-ra mutató int tömb int sameArray[]; // initArray referenciáját állítjuk be sameArray-nek initArray @=> sameArray; // initArray ezentúl sameArray-ként is elérhető <<>>; <<>>; chout <= sameArray[3] <= "==" <= initArray[3] <= IO.newline(); // objektum tömb - alapértelmezetten inicializált objektumokkal Object objArray[2]; <<>>; // objektum tömb - null referenciákkal Object @ nullArray[3]; <<>>; // többdimenziós tömbök [[[0.5, 1.2],[3.3, .1]],[[1.1, 2.],[0.3, .65]]] @=> float floatMatrix[][][]; <<>>; <<>>; <<>>; <<>>; // többdimenziós tömb részdimenziója is elérhető // a dimenziók számosságának meg kell felelniük floatMatrix [1] @=> float subMatrix[][]; <<>>; <<>>; // asszociatív tömbök // üres tömb int emptyArray[0]; // érték beállítása a "new" mezőbe 7 => emptyArray["new"]; // a statikus tömb mérete 0 marad, a 7-es érték a dinamikus tárterületre kerül <<>>; <<>>; // minden tömb használható mint asszociatív tömb 3 => intArray["0"]; <<>>; // az újonnan hivatkozott elemek az alapértelmezett nulla értéket tartalmazzák <<>>; // objektumoknál null referenciát! // nem kerül inicializálásra az asszociatívan elért objektum (nullpointer hiba) <<>>; <<>>; // kevert tömbök // az első dimenzió üres, a második dimenzió két elemet tartalmazhat int mixedArray[0][2]; //második dimenzió tömbjeit létrehozzuk és az asszociatív dimenzióhoz csatoljuk new int[2] @=> mixedArray["alpha"]; [3, 4] @=> mixedArray["beta"]; [5, 6] @=> mixedArray["gamma"]; 1 => mixedArray["alpha"][0]; 2 => mixedArray["alpha"][1]; <<>>; <<>>; <<>>; <<>>; <<>>; <<>>;