|
A Byte, a Short, az Integer, a Long, a Float és a Double osztály
|
bet | 18/51 | Sana | 07.04.2017 | Hajmi | 1.08 Mb. | | #3295 |
A Byte, a Short, az Integer, a Long, a Float és a Double osztály
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:
view plaincopy to clipboardprint?
-
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:
view plaincopy to clipboardprint?
-
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 valueOf ismerete, amely szöveges formából alakít számmá, akárcsak a Boolean esetén:
view plaincopy to clipboardprint?
-
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:
view plaincopy to clipboardprint?
-
-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.
|
| |