A Java nyelvet elsősorban az íráshoz használjáknagyvállalati webes alkalmazások. Ugyanakkor más témakörökre is alkalmazható, ahol gyakran nagyon nagy számmal kell dolgozni. Noha a Java primitív típusai vannak, vannak olyan helyzetek is, ahol nem elégségesek.
Ismeretes, hogy minden primitívnek van egya kellemetlen jellemző az a típus túlcsordulása, amelyben a megengedett értékeken túli kimenet hibás számításokhoz vezet. Ehhez van egy speciális osztály, a BigInteger. A Java nem lenne Java, ha nem rendelkezik különálló osztályral és funkcióval ebben az esetben. Nézzük részletesebben.
Mint már tudta, a BigInteger osztályshell a nagy egészértékekhez. Ha egy ilyen típusú objektumban egy számot beágyazunk, használhatjuk az egyik konstruktor túlterhelését vagy a statikus értéket. A konstruktor argumentumként karakterláncot vagy tömböt tartalmazhat. Az egész típusokat megjelenítő egyszerű típusok konvertálásához használja a statikus valueOf metódust a BigInteger Java programban.
Mivel a Java túlterhelheta szolgáltatók hiányoznak, annak érdekében, hogy matematikai műveleteket hajtsanak végre az ebben az osztályba beágyazott értékekkel, megfelelő eljárást biztosítunk. Továbbra is megvitatásra kerülnek.
Ez az osztály számos arzenáljában vanolyan módszerek, amelyek lehetővé teszik numerikus értékek manipulálását és számos matematikai műveletet végezhetnek rájuk. Az alábbiakban felsoroljuk ezeket a módszereket.
Elemezzük a számtani műveleteket végrehajtó módszereket:
- add (value) - hozzáadja az aktuális objektum értékeit, az argumentumként átadott értékkel;
- kivonni (kivonó) - kivonni a kivonót az aktuális értékből;
- szorzás (érték) - multiplikációt végez;
- osztja (osztó) - osztja az aktuális értéket osztóvá;
- pow (int arg) - emeli az invokált objektum értékét az arg argento erősségéhez;
- abs () - visszaadja a hívott objektum abszolút értékét;
- negate () - visszaad egy BigInteger objektumot, amelynek értéke ellenkező jel.
Vizsgáljuk meg egy egyszerű példát egy aritmetikai művelet elvégzésére két objektumba beágyazott értéken:
- BigInteger val1, val2, hozzáadva, osztva, ellentétes Signal;
- val1 = új BigInteger ("5");
- val2 = BigInteger.valueOf (10);
- hozzáadás = val1.add (val2);
- osztva = val2.divide (val1);
- oppositeSign = val1.negate ();
Figyeld meg az objektumok létrehozásának módját. Az val1 változót a konstruktornál inicializáltuk, amely a stringet megkapta, és az értéket az 5. val2 értéke 10 értékre állítja a statikus valueOf módszer következtében. A hozzáadandó változó értéke az első két változó hozzáadásának eredménye, és a 15. A megosztható változó a kivonás eredményét tárolja. szemben A jel egyenlő a val1 értékével az ellenkezőjellel, azaz -5.
Amint láthatja, a BigInteger Java osztály biztosítjakülönböző eszközöket nagyszámú műveletekhez. Az ilyen típusú túlfolyó lehetséges, mivel a biztonság Java az egyik legmagasabb prioritású, természetesen anélkül, hogy veszélyeztetné a funkcionalitás.
</ p>