Javaban egy változó milyen értéket kap, hogyha nem adok én neki?
0, mint a free pascalban vagy random, mint a C-ben?
Tehát ha annyi van, hogy:
int k;
Nem pedig:
int k = 0;
Szükségem van egy változóra ami számol. Tehát, ha azt írom, hogy "int k += 1" akkor k 2 lesz amennyi kéne legyen, vagy 2432314, mert alapból valami random számot ad neki?





Hát próbáld ki:
int k;
System.out.println(k);





Ha egy lokális változót nem inicializálsz le se fordul a program, minden más esetben kap egy default értéket (0, null, stb)
class HelloWorld {
String foo; //null
String fun() {
String bar;
return bar; //compile error, "bar" nem lett inicializálva
}
}





A sok baromság után először is azt tisztázzuk, hogy milyen fajta adattípusok vannak. Ugye vannak az egyszerű típusok (amit a Java primitív típusoknak nevez). Ezek olyan értékeket jelentenek, amelyeket tovább már nem lehet boncolgatni. Ilyen például az int, a boolean, char, short, long, ... Aztán vannak az összetett típusok (tömb, osztály, ...). Na mit tippelsz, miért összetett? Azért, mert ezeknek az értéke egy vagy több primitív vagy összetett típusú értékből áll elő. Mint például a szöveg betűkből áll.
A két típusfajta közt van egy nagy különbség. Primitív típus esetén magát az értéket tároljuk, míg összetett típus esetén - lévén az marha nagy lehet, és előfordulhat, hogy nem hatékony dolog azt másolgatni - azt tároljuk, hogy hol található az az érték a memóriában (ezt hívja az OOP ún. referenciának).
Mindkét típus esetén van egy alapértelmezett érték. Szám alapú primitív típusoknál (mint pl. az int) ez 0, boolean esetében a false, char esetén nem tudom, mi. Összetett típusok esetében ez az alapértelmezett érték a null.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!