Child pages
  • 3. Egy kis szárazanyag

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Ezen osztályok mind a Number osztályból származnak, amely a számokat kezelő osztályok őse. A Numberőstől örökölt kényszer szerint van hat metódusuk, amely a burkoló osztály által hordozott szám primitív típusát adja vissza:

...

Code Block
languagejava
linenumberstrue
    Double szám = new Double(3.141592653589793);

...


    System.out.println(szám.doubleValue());

...


    System.out.println(szám.floatValue());

...


    System.out.println(szám.longValue());

...


    System.out.println(szám.intValue());

...


    System.out.println(szám.shortValue());

...


    System.out.println(szám.byteValue());

...



    szám = Double.parseDouble("2.718281828459045");

...


    System.out.println(szám.doubleValue());

...


    System.out.println(szám.floatValue());

...


    System.out.println(szám.longValue());

...


    System.out.println(szám.intValue());

...


    System.out.println(szám.shortValue());

...


    System.out.println(szám.byteValue());

...

A fenti programrészlet eredménye:

...

Code Block
languagejava
linenumberstrue
3.

...

141592653589793
3.1415927
3
3
3
3
2.718281828459045
2.7182817
2
2
2
2

Mint látható, a valós számot hordozó Double esetén az egész számra való alakítás is megtörténik, ha egész típusú primitív típust kérek el, azonban az átalakítás során csonkolás történik (eltűnik a tizedespont mögötti számsor), nem pedig kerekítés!

Ezek az osztályok már több műveletet is lehetővé tesznek, nekünk azonban egyelőre elég a valueOfismerete, amely szöveges formából alakít számmá, akárcsak a Boolean esetén:

...

:

Code Block
languagejava
linenumberstrue
    szám = Double.valueOf("-2");

...


    System.out.println(szám);

...


    szám = Double.valueOf("-2.2E3");

...


    System.out.println(szám);

...


    szám = Double.valueOf("-2.2E3000");

...


    System.out.println(szám);

...


    System.out.println(szám.isInfinite());

...

Ennek eredménye:

...

Code Block
languagejava
linenumberstrue
-2.

...

0
-2200.

...

0
-Infinity
true

Fontos, hogy a valós típusoknak lehet negatív és pozitív végtelen értéke - ha túl nagy számot szeretnénk szöveges formából átalakítani vagy a művelet eredménye túl nagy, ezt lekérdezhetjük az isInfinite metódussal.

...

Eddigi programjaink során már találkoztunk az értékadás műveletével:

 

Code Block
int szám;
szám = 2;

 

Ezt úgy kell olvasnunk, hogy legyen egy int típusú és szám nevű változónk, majd a szám nevű változó értéke legyen egyenlő kettővel.

...