Java-sproget bruges hovedsageligt til skrivningstore virksomhedswebapplikationer. Det gælder dog også for andre fagområder, hvor det ofte er nødvendigt at arbejde med meget stort antal. Selvom Java har primitive typer, er der situationer, hvor de ikke er nok.
Det vides, at alle primitiver har enen ubehagelig funktion - type overløb, hvor en værdi uden for området fører til forkerte beregninger. Der er en speciel BigInteger-klasse til dette. Java ville ikke være Java, hvis det ikke også havde en separat klasse med funktionalitet. Lad os overveje det mere detaljeret.
Som du allerede har forstået, fungerer BigInteger-klassenen indpakning til store heltalværdier. For at indkapsle et tal til et objekt af en given type kan du bruge en af overbelastningerne af dets konstruktører eller den statiske metode valueOf. Konstruktøren kan tage en streng eller et byte-array som et argument. For at konvertere enkle typer, der repræsenterer heltal, bruger Java BigInteger metoden metoden statisk værdi.
Siden i Java evnen til at overbelasteder er ingen operatorer, der er tilsvarende metoder til at udføre matematiske operationer på værdier indkapslet i denne klasse. Vi vil tale om dem yderligere.
Denne klasse har i sit arsenal mangemetoder, der giver dig mulighed for at manipulere numeriske værdier og udføre forskellige matematiske operationer på dem. Nedenfor er en liste over disse metoder.
Lad os se på de metoder, der udfører aritmetiske operationer:
- tilføj (værdi) - udfører tilføjelse af værdierne for det aktuelle objekt, sendt som et argument;
- subtraherer (subtraktor) - subtraherer subtraktoren fra den aktuelle værdi;
- multiplicere (værdi) - udfører multiplikation;
- divider (divider) - dividerer den aktuelle værdi med divider;
- pow (int arg) - hæver værdien af det kaldende objekt til en styrke af arg;
- abs () - returnerer den absolutte værdi af det kaldende objekt;
- negate () - returnerer et BigInteger-objekt med det modsatte tegn.
Lad os se på et simpelt eksempel på at udføre en aritmetisk operation på to værdier indkapslet i et objekt:
- BigInteger val1, val2, tilføjelse, deling, modsatSign;
- val1 = nyt BigInteger (“5”);
- val2 = BigInteger.valueOf (10);
- tilføjelse = val1.add (val2);
- dividering = val2. opdele (val1);
- modsatSign = val1.negate ();
Vær opmærksom på den måde, objekter oprettes på.Variablen val1 blev initialiseret med en konstruktør, der tog en streng og lagrer værdien 5. val2 er indstillet til 10 som et resultat af den statiske værdi af metoden. Værdien af den tilføjende variabel er resultatet af tilføjelsen af de to første variabler og er lig med 15. Opdelingsvariablen lagrer følgelig resultatet af subtraktionen. modsat Tegn er lig med val1 med det modsatte tegn, dvs. -5.
Som du kan se, giver BigInteger Java-klassenforskellige værktøjer til operationer på meget stort antal. Samtidig er typeoverløb udelukket, da sikkerhed i Java har en af de højeste prioriteter, naturligvis uden at gå på kompromis med funktionaliteten.