3.2.1. Primitív típusok
Egy bináris (más néven digitális) számítógép számára minden a világon két számból épül fel: 0 és 1, amelyeket bináris számnak (binary digit, vagyis bit) nevezünk. Bármi, amit a számítógépünkön találunk, az mind bináris számok különféle kombinációja és sorozata, s a kettes számrendszer írja le a kombinációk és sorozatok kódolását. A különféle hosszúságú kettes számrendszerben kódolt számoknak a szakma neveket adott, nézzük át őket (a teljesség igénye nélküli):
-
bit (boolean) - bit: a legkisebb egység, értéke lehet 0 vagy 1, illetve igaz (true) vagy hamis (false).
-
byte - bájt: 8 bináris szám által reprezentált szám, értéktartománya 28, vagyis 0 – 255 vagy -128 – 127.
-
char - karakter: egy bájt által reprezentált karakter, kódolása általában ASCII.
-
word - egy gépi szó: két bájt, 16 bit által reprezentált szám, értéktartománya 216, vagyis 0 – 65535 vagy -32768 – 32767.
-
integer - egész szám: egy vagy több gépi szó által reprezentált szám, értéktartománya tipikusan 232, vagyis 0 – 4 milliárd vagy -2 milliárd – 2 milliárd.
-
long (integer) - nagy egész szám: általában négy gépi szó által reprezentált szám, értéktartománya általában 264, vagyis 0 – 16 trillió vagy -8 trillió – 8 trillió.
-
real (float) - valós szám: két gépi szóból álló egyszerű (lebegőpontos) valós szám, értéktartománya előjel nélkül ~1.4-45 – ~3.438.
-
double - nagy valós szám: négy gépi szóból álló (lebegőpontos) valós szám, értéktartománya előjel nélkül: ~4.9-324 – ~1.8308.
A lebegőpontos számok használata során ismernünk kell a trükköt, hiszen nyilvánvaló kell legyen, hogy 32 bitbe nem fér el minden valós szám 1.4-45 és 3.438 között. A megoldás egyszerű: az egész számokat tároló megoldások a szám összes számjegyét tárolják, míg az utóbbi kettő - valós szám tárolására használt számkódolási eljárás - kerekít. A megadott tartományon belül tetszőlegesen nagy számot tudunk tárolni, de csak 7-8 számjegy pontossággal. További trükk, hogy a nulla értéket csak megközelíteni tudjuk, a legkisebb érték és a nulla között mindig lesz egy tartomány, amelyet nem tudunk használni. Az alábbi számegyenesre tekintve láthatjuk, hogy a kék pontok jelentik a kódolás határértékeit, a zöld részen tudunk számokat tárolni 7-8 számjegy pontossággal, és a piros területeket már nem tudjuk tárolni:
A Java nyelvben a felsorolás sorrendjében a boolean, a byte, a char, a short, az int, a long, a float és a double használatos, ezeket nevezzük primitív típusnak. Fontos tudni, hogy nincs előjel nélküli típus, az összes primitív típus előjeles szám, nézzünk példát ezen típusok használatára.
Vegyük elő a NetBeans környezetben a már létrehozott Kocsma projektet, és keressük meg benne a kocsma csomagot, majd azon belül a Main osztályt, majd az alábbi programot írjuk bele:
view plaincopy to clipboardprint?
-
|