A Java primitív típusok használata
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);
}
}javaHa a Java System.out.prinln parancsot használja a kimenet inicializálásához, a kimenet így fog kinézni:
truejavabá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);
}
}javaA kimenet a következőképpen néz ki:
101javarö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);
}
}javaA kimenet így néz ki:
-27412javaint
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);
}
}javaA kimenet a következőképpen néz ki:
14 + 3 = 17javahosszú
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);
}
}javaItt van az eredmény:
47javalebeg
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);
}
}javaNe 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.22javakettő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);
}
}javaFigyeljük meg, hogy itt nincs felesleges betű. A kimenet a következőképpen néz ki:
7.2252javakar
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);
}
}javaA kimenet a következőképpen néz ki:
&java