A Java-ban 8 primitív adattípus létezik, amelyek mindegyike fix méretű és meghatározott értéktartománnyal rendelkezik. Ezeket változók létrehozására és egyedi számok, karakterek vagy logikai értékek hozzárendelésére használják. A 8 Java primitív típus a boolean, byte, char, double, float, int, long és short.

Mik azok a Java primitívek?

Más programozási nyelvekhez hasonlóan a Java is különböző adattípusokkal rendelkezik. A Java-ban ezek két kategóriába sorolhatók. Az első a referenciatípusok, amelyek szabadon definiálható objektumokra utalnak, mint például karakterláncok, tömbök, osztályok és interfészek. Ezután következnek a Java primitív típusok. Ezeknek fix méretük van, amely minden platformon azonos. Saját wrapper osztályuk is van, megváltoztathatatlanok és fix értéktartományuk van. A Java primitív típusokat egyedi számok, karakterek vagy logikai értékek változóinak létrehozására használják.

A Java nyelvben 8 különböző primitív adattípus létezik, amelyek elsősorban az általuk tárolt értékek tekintetében különböznek egymástól. Közös jellemzőjük, hogy csak egyetlen értéket tudnak tárolni. Mivel néhányuk hasonló helyzetekben használatos, a Java primitív típusokat négy kategóriába oszthatjuk:

  • Logikai adattípus (boolean)
  • Integrált adattípus (byte, short, int és long)
  • Lebegőpontos adattípus (float és double)
  • Karakter adattípus (char)

Mivel közvetlenül a veremben vannak tárolva, méretük különösen fontos. Erről bővebben később beszélünk ebben az útmutatóban. A Java primitív típusok azért is fontosak, mert a Java statikusan típusos nyelv. Tehát amikor programot írsz, már előre meg kell határoznod, hogy egy változó milyen adattípusú, különben hibaüzenetekkel fogsz szembesülni. Íme egy áttekintés a Java primitív típusokról:

Adattípus Méret Értéktartomány Alapértelmezett érték Wrapper osztály
boolean 1 bit igaz vagy hamis hamis java.lang.Boolean
byte 8 bit -128 és 127 0 java.lang.Byte
rövid 16 bit -32768 és 32767 között 0 java.lang.Short
int 32 bit -2147483648 és 2147483647 között 0 java.lang.Integer
hossz 64 bit -9223372036854775808 és 9223372036854775807 között 0 java.lang.Long
float 32 bit legfeljebb 7 tizedesjegy 0,0 java.lang.Float
dupla 64 bit legfeljebb 16 tizedesjegy 0,0 java.lang.Double
karakter 16 bit **’\u0000’ (azaz 0) és ‘\uffff’ (megfelel 65535-nek) között „\u0000” java.lang.Character

A Java primitív boolean típus használata

A Java Boolean értéke igazságértéknek is nevezhető. Ez a legegyszerűbb Java primitív típus, mivel csak két lehetséges értéke van: „true” (igaz) vagy „false” (hamis). Akkor használják, amikor logikai operandusra van szükség, és ez az egyetlen logikai adattípus. Kifejezésekben a két lehetséges értéke általában egy feltételt jelöl, amely vagy teljesül (igaz), vagy nem (hamis). Ha nem rendelünk értéket a Boolean-hoz, akkor az alapértelmezett értéke false lesz. A Boolean kombinálható Java-ban a Boolean operátorokkal, mint például az AND és az OR. A Boolean értékének hozzárendelése a következőképpen néz ki:

public class Main {
	public static void main(String[] args) {
		boolean x = true;
		System.out.println(x);
	}
}
java

Ha a Java System.out.prinln parancsot használja a kimenet inicializálásához, a kimenet így fog kinézni:

true
java

bájt

A byte az egész szám típusok közül a legkisebb adattípus. Értéktartománya nagyon korlátozott, nevezetesen -128 és 127 között van. De csak 8 bit memóriát használ. Valójában a nevét arról kapta, hogy 8 bit egy byte-ot alkot. Ha csak nagyon korlátozott értéktartománnyal dolgozol, akkor a byte-ot így deklarálhatod:

public class Main {
	public static void main(String[] args) {
		byte x = 101;
		System.out.println(x);
	}
}
java

A kimenet a következőképpen néz ki:

101
java

rövid

A short kétszer akkora, mint a byte, ami azt jelenti, hogy ez is az egyik ritkábban használt Java primitív típus. De ha a byte túl kicsi, az int pedig túl nagy, akkor a short lehet az a egész típus, amit keresel. Így lehet deklarálni:

public class Main {
	public static void main(String[] args) {
		short x = -27412;
		System.out.println(x);
	}
}
java

A kimenet így néz ki:

-27412
java

int

Az int az egész szám típusok közül a leggyakrabban használt. Nagy érték tartománya van, és mégis helytakarékos. Az int egy kettes kiegészítésű érték, és más célokra is gyakran használják. Használata a következő:

public class Main {
	public static void main(String[] args) {
		int x = 14;
		int y = 3;
		int z = x + y;
		System.out.println(x + " + " + y + " = " + z);
	}
}
java

A kimenet a következőképpen néz ki:

14 + 3 = 17
java

hosszú

A long az int kiterjesztése, és még hosszabb számokat is tartalmazhat. Az int a legtöbb esetben elegendő, de ha long-ot szeretne deklarálni, akkor azt a következőképpen teheti meg:

public class Main {
	public static void main(String[] args) {
		long x = 47;
		System.out.println(x);
	}
}
java

Itt van az eredmény:

47
java

lebeg

Két Java primitív típus létezik a racionális számok részhalmazainak ábrázolására. A float a két lebegőpontos adattípus közül a kisebbik, és 32 bitet használ. Legfeljebb 7 tizedesjegyig képes megjeleníteni. Ugyanakkor nem túl pontos, ezért nem használják túl gyakran. Ha mégis úgy dönt, hogy használja, akkor a következőképpen deklarálhatja:

public class Main {
	public static void main(String[] args) {
		float x = 7.22f;
		System.out.println(x);
	}
}
java

Ne feledje, hogy a szám után kis- vagy nagybetűs „f” betűt kell beírnia, hogy a számítógépnek jelezze, hogy ez egy float típusú szám, és nem double. Az „f” betű nem jelenik meg a kimenetben:

7.22
java

kettős

A második lebegőpontos adattípus a double. Ez lényegesen pontosabb, mint a float, de még mindig nem ad teljesen pontos eredményeket. Ha alternatívát keresel, akkor a BigDecimal osztályt használhatod. Ha a double megfelel a céljaidnak, akkor így deklarálhatod:

public class Main {
	public static void main(String[] args) {
		double x = 7.2252;
		System.out.println(x);
	}
}
java

Figyeljük meg, hogy itt nincs felesleges betű. A kimenet a következőképpen néz ki:

7.2252
java

kar

A char karaktertípus Unicode karakterek ábrázolására szolgál. Értéke „\u0000”-tól „\uffff”-ig terjed, vagyis 0-tól 65535-ig. A karakter adattípus szinte az összes európai és ázsiai karaktert képes ábrázolni. 16 bit memóriát használ. Ennek a Java primitív típusnak az értékei egyszerű idézőjelek között vannak megadva. Így néz ki a kódban:

public class Main {
	public static void main(String[] args) {
		char x = '&';
		System.out.println(x);
	}
}
java

A kimenet a következőképpen néz ki:

&
java
Ugrás a főmenübe