2019. május 29., szerda

Numerikus- és egyéb adattípusok fogalma

A Java nyelvben az adattípusoknak két fajtája van: primitív és referencia típusok. A primitív adattípusok egy egyszerű értéket képesek tárolni: számot, karaktert vagy logikai értéket.

Primitív típusok:
Egész típus
Valós típus
Karakter típus
Logikai típus
Referencia típusok:
Tömb típus
Osztály típus
Interfész típus

 Egész számok

Típus Leírás Méret / formátum
byte bájt méretű egész 8 bit kettes komplemens  (-128 - 127)
short rövid egész 16 bit kettes komplemens (-32768 - 32767)
int egész 32 bit kettes komplemens (-2147483648 - 2147483647)
long hosszú egész 64 bit kettes komplemens
(-9223372036854775808 - 9223372036854775807)
4.1.2.    Valós számok

Típus Leírás Méret / formátum
float egyszeres pontosságú lebegőpontos 32 bit IEEE 754
double dupla pontosságú lebegőpontos 64 bit IEEE 754


Egyéb típusok

Típus Leírás Méret / formátum
char karakterek 16 bit Unicod karakter
boolean logikai érték true vagy false


 Szám és szöveg közötti konvertálások

 Szövegből számmá konvertálás

Előfordulhat, hogy a sztringként rendelkezésre álló adatot számként kell kezelnünk. pl. A szöveges állományból beolvasott adatok sztringként állnak a rendelkezésünkre és ha szeretnénk velük valamilyen matematikai műveletet végezni, akkor át kell alakítani szám típusúvá.

Az átalakítást a valueOf metódussal tudjuk elvégezni.

Példa: (Két szöveg típusú változó számként történő összeadása.)

 Számból szöveggé konvertálás

Az a helyzet is előfordulhat, hogy a számból szövegbe konvertálásra van szükségünk. pl. A program által szolgáltatott szám értékeket szeretnénk egy szöveges állományba kiírni.

Az átalakítást a toString metódussal tudjuk elvégezni.

Példa: (Egy egész típusú szám számjegyeinek megszámlálása.)

  A Math osztály

Az alapvető aritmetikai számításokon (+, -, /, %) túl a Java nyelv biztosítja számunkra a Math osztályt. Az osztály metódusai magasabb rendű matematikai számítások elvégzését is lehetővé teszik. (pl. egy szög szinuszának a kiszámítása.)

A Math osztály metódusai osztály metódusok, így közvetlenül az osztály nevével kell őket meghívni.

pl. Math.abs(-32);

Nézzük meg a legfontosabb metódusokat!

 Alapvető metódusok:

double abs(double)
float abs(foat)
int abs(int)
long abs(long)
abszolút érték

A kapott paraméter abszolút értékével tér vissza.

double ceil(double)
felfelé kerekítés

A legkisebb double értékkel tér vissza, ami nagyobb vagy egyenlő a megkapott paraméterrel.

double floor(double)
lefelé kerekítés

A legnagyobb double értékkel tér vissza, ami kisebb vagy egyenlő a megkapott paraméterrel.

double rint(double)
a legközelebbi egészhez kerekít

A megkapott paraméterhez legközelebb álló double értékkel tér vissza.

long round(double)
int round(float)
kerekítés

A legközelebbi long vagy int értéket adja vissza.

double min(double, double)
float min(float, float)
int min(int, int)
long min(long, long) A két paraméter közül a kisebbel tér vissza.
double max(double, double)
float max(float, float)
int max(int, int)
long max(long, long) A két paraméter közül a nagyobbal tér vissza.
A következő program bemutatja a fenti táblázatban ismertetett metódusok használatát:

  Hatványozással kapcsolatos metódusok:

double exp(double) A szám exponenciális értékével tér vissza.
double log(double) A szám természetes alapú logaritmusával tér vissza.
double pow(double, double) Az első paramétert a második paraméter értékével megadott hatványra emeli.
double sqrt(double) A megadott paraméter négyzetgyökével tér vissza.
A következő program bemutatja a fenti táblázatban ismertetett metódusok használatát:

Trigonometrikus függvények:

double sin(double) Egy szám szinuszával tér vissza.
double cos(double) Egy szám koszinuszával tér vissza.
double tan(double) Egy szám tangensével tér vissza.
double asin(double) Egy szám arc szinuszával tér vissza.
double acos(double) Egy szám arc koszinuszával tér vissza.
double atan(double) Egy szám arc tangensével tér vissza.
double toDegrees(double) A paramétert fokká konvertálja.
double toRadians(double) A paramétert radiánná konvertálja.
A következő program bemutatja a fenti táblázatban ismertetett metódusok használatát:
Véletlen szám készítés:

Gyakran szükségünk van véletlen számok előállítására, ezt a double random() metódussal tehetjük meg. A metódus egy véletlen számot ad [0.0;1.0[ intervallumban.

Példa:(Generáljunk egy véletlen egész számot 1-től 10-ig terjedő intervallumban.)

Figyeljük meg a bekeretezett kifejezést!

A random() metódus 0 és 1 közötti double típusú számot állít elő úgy, hogy a 0-t igen, de az 1-t soha nem veszi fel. Mi 1 és 10 közötti egész számot szeretnénk, ezért a véletlen számot meg kell szorozni 10-el és még hozzá kell adni 1-t is. Azt, hogy a végeredmény egész típusú legyen "ki kell kényszerítenünk" (int).


Nincsenek megjegyzések:

Megjegyzés küldése