BigInteger Java: pracovať s veľkými číslami

Jazyk Java sa používa predovšetkým na písanie veľkých firemných webových aplikácií. Použijú sa však aj iné oblasti, v ktorých je často potrebné pracovať s veľmi veľkým počtom. Hoci Java má primitívne typy, existujú situácie, v ktorých nestačia.

Je známe, že všetky primitívne prvky majú jeden nepríjemný prvok - pretečenie typu, pri ktorom výstup nad povolené hodnoty vedie k nesprávnym výpočtom. K tomu je špeciálna trieda BigInteger. Java by nemala byť Java, ak nemá samostatnú triedu s funkčnosťou av tomto prípade. Pozrime sa na to podrobnejšie.


BigInteger trieda Java: popis

Ako ste už pochopili, trieda BigInteger slúži ako shell pre veľké celočíselné hodnoty. Ak chcete zapísať počet objektov tohto typu, môžete použiť jedno z preťažení jeho konštruktorov alebo hodnotu statického metódu. Konštruktor ako argument môže prijať reťazec alebo pole bajtov. V systéme BigInteger Java sa metóda statickej hodnoty používa na konverziu celočíselných typov, ktoré reprezentujú celé čísla. Keďže Java nemá schopnosť preťažiť operátorov, vykonávať matematické operácie s hodnotami zapuzdrenými v tejto triede, poskytujú sa príslušné metódy. Budú o nich hovoriť aj naďalej.

Java BigInteger: Metódy a príklady ich použitia

Táto trieda má vo svojom arzenáli mnoho metód, ktoré umožňujú manipulovať s numerickými hodnotami a robiť rôzne matematické operácie na nich. Nižšie je zoznam týchtometódy.



Uvažujme o metódach, ktoré vykonávajú aritmetické operácie: - add (hodnota) - spúšťa pridávanie hodnôt aktuálneho objektu, ktoré boli zadané ako argument; - odpočítať (odčítač) - odčíta odčítač od aktuálnej hodnoty; - násobenie (hodnota) - vykonanie násobenia; - rozdeliť (rozdeľovač) - rozdeľuje aktuálnu hodnotu na delič; - pow (int arg) - znižuje hodnotu objektu na hodnotu arg; - abs () - vracia absolútnu hodnotu objektu nazvaného; - negate () - vráti objekt BigInteger, ktorého hodnota má opačný znak. Pozrime sa na jednoduchý príklad vykonávania aritmetickej operácie na dvoch hodnotách zapuzdrených v objekte: - BigInteger val1 val2 pridávanie, delenie, opačnéSign; - val1 = nový BigInteger ("5"); - val2 = BigInteger.valueOf
; - pridanie = val1.add (val2); - rozdelenie = val2.divide (val1); - oppositeSign = val1.negate (); Venujte pozornosť spôsobu vytvárania objektov. Premenná val1 bola inicializovaná pomocou konštruktora, ktorý prijal reťazec a zadržal hodnotu 5. val2 má hodnotu 10 ako výsledok statickej metódy valueOf. Hodnota pridanej premennej je výsledkom pridania prvých dvoch premenných a je rovná 15. Premenná premenná teda zachováva výsledok odčítania. oppositeSign sa rovná val1 s opačným znamienkom, tj -5.

Záver

Ako vidíte, trieda Java BigInteger poskytuje rôzne nástroje pre operácie s veľkým počtom. Súčasne je vylúčený pretek typov, pretože bezpečnosť v jazyku Java má samozrejme jednu z najvyšších priorít, bez toho, aby bola ohrozená funkčnosť.

Súvisiace publikácie