Kihagyás

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:

int egesz_szam = 5;
boolean igaz_hamis = true;
float lebegopontos_szam = 5.5;
short kis_egesz = 32767; // ennél nagyobb értéket nem tárolhatunk benne, különben hibát kapunk a fordítás során
egesz_szam = 5
igaz_hamis = True
lebegopontos_szam = 5.5
kis_egesz = 32767

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.

String szoveg = "ez egy szöveg";
szoveg = "ez egy szöveg"