Adattípusok¶
A Pythonnal ellentétben a Java esetében nem elegendő egy változót létrehozni, annak pontos típusát is meg kell adni. Mivel a Java egy statikusan típusos nyelv, ezért a változók típusát a fordító program fordítási időben ismeri meg.
Beépített típusok¶
A Java nyelvben a változók típusai a következők lehetnek:
Típus neve | Méret | Legkisebb érték | Legnagyobb érték |
---|---|---|---|
boolean | N/A | false | true |
char | 2 byte | 0 | 65535 |
byte | 1 byte | -128 | 127 |
short | 2 byte | -32768 | 32767 |
int | 4 byte | -2147483648 | 2147483647 |
long | 8 byte | -9223372036854775808 | 9223372036854775807 |
float | 4 byte | 1.4E-45 | 3.4028235E38 |
double | 8 byte | 4.9E-324 | 1.7976931348623157E308 |
Mi értelme short típusú számnak, hogy ha az int típus is szám?
Ha részletesen megnézzük a táblázatot, akkor láthatjuk, hogy dupla annyi erőforrás igénye van, azonban ezzel arányosan nő a tárolható értékek tartománya is.
Kísérlet
Tegyük fel, hogy az iskolába 500 tanuló jár és mindenkinek 10 db jegye van. Ez összesen \(500 \cdot 10 = 5000\) db jegy.
Mekkora területet foglal az 5000 db jegy short típusú változóban és mekkora területet foglal long típusúként?
Megoldás
- Short: \(5000 \cdot 2 \text{ byte} = 10000 \text{ byte} = 10 \text{ kilobyte}\)
- Long: \(5000 \cdot 8 \text{ byte} = 40000 \text{ byte} = 40 \text{ kilobyte}\)
A fentiekből adódik, hogy a fordító programnak nekünk kell megmondani, hogy egy adott változó milyen típusú legyen.
Nézzük pár példát erre, összehasonlítva a Pythonnal:
String (szöveges) típus¶
A szövegek tárolása egy kicsit máshogyan működik, mint a többi típus esetében.
A szövegek tárolására a Java nyelvben a String
típust használjuk.
Figyelmeztetés
Fontos, hogy az S
betű nagybetűs, különben hibát kapunk a fordítás során.