Kad vam primitivne vrste podataka ne mogu pomoći, Java ima neke posebne klase kako bi vas spasile. Jedan od takvih uvjeta pojavljuje se kada imate posla s velikim brojevima koji se ne mogu sadržavati u primitivnim vrstama podataka poput int i long. Za prevladavanje ovog problema netko bi mogao koristiti vrstu podataka String. Ali, ako želimo izvršiti aritmetičke operacije nad danim brojem, ova metoda nedostaje. U ovom postu raspravljat ćemo o tome kako možemo prevladati ovaj problem uz pomoć BigInteger-a u
U ovom će članku biti obrađeni sljedeći smjerovi,
Pa krenimo s ovim člankom,
BigInteger u Javi
Razredi i predmeti
Prije nego što započnete s BigInteger klasom, neophodno je razumjeti osnove . Razredi i predmeti čine srž OOP-a. To su moćni koncepti koji se često koriste u radu s jezicima koji podržavaju OOP-ove. Tako. Prođimo kroz ove koncepte i razvijmo kratko razumijevanje njihovog rada.
Glavne ideje koje stoje iza OOP-a su modularnost koda i ponovna upotrebljivost koda. Te se ideje provode uz pomoć klase i objekta. Klasa je mjesto na kojem korisnik može postaviti ponašanje i svojstva svojih primjeraka. Klasu također možete smatrati prototipom predmeta koji pripadaju tom automobilu.
Na primjer
Razmotrimo razred pod nazivom 'Pas'. Sada, ako razmišljamo o psu, možemo reći da svi psi imaju neka zajednička svojstva poput boje, nogu, repa, ušiju itd. I ponašanja poput hodanja, drhtanja repom, lajanja itd. Možemo napisati sve te uobičajene svojstva kao atributi i ponašanja kao metode u našoj klasi 'Pas'. Sada će svaka instanca ove klase imati ista svojstva i ponašanja. Sada možemo stvoriti onoliko objekata koliko želimo i koristiti funkcionalnosti spomenute u klasi. To čini kod modularnim i ponovnim za upotrebu.
Klase se nazivaju i korisnički definiranim tipovima podataka i koriste se kada funkcionalnost koju pokušavamo postići nije ispunjena korištenjem primitivnih tipova podataka. Primjer toga je klasa BigInteger. Proučimo ovaj primjer unutra i van.
Pogledajmo sljedeću točku ovog BigInteger-a u Javi
Klasa BigInteger
U ovom trenutku imamo dovoljno znanja o klasama i objektima da započnemo s BigInteger klasom koju pruža Java. Klasa BigInteger dio je Java.math paketa i dolazi s raznim konstruktori . Tijekom stvaranja objekata ove klase za pohranu velikih brojeva ne postoji gornja granica broja koji se može pohraniti. Jedino ograničenje je dostupna memorija.
Klasa BigInteger smije se koristiti samo ako je neizbježna. Kako zauzima više memorije u usporedbi s primitivnim vrstama podataka i ne možete obavljati aritmetičke operacije pomoću odgovarajućeg aritmetičkog operatora, jer Java ne podržava preopterećenje operatora.
fibonaccijeva serija c ++
Izjava
BigInteger Veliki
Inicijalizacija
BigInteger Big2 = novi BigInteger ('124321098456719538751253254')
U sljedećem odjeljku razgovarat ćemo o konstruktorima i metodama ove klase.
Sada bismo razumjeli što su konstruktori,
BigInteger u Javi: Konstruktori
Pogledajmo razne konstruktore koje nudi klasa BigInteger. Što je veći broj dostupnih konstruktora, to je više načina za stvaranje objekata klase BigInteger. Važno je imati na umu da konstruktori nemaju tip return i ne vraćaju ništa.
Gospodine br | Konstruktori i parametri | Opis |
jedan | BigInteger (bajt [] val) | Ovaj konstruktor pomaže u prevođenju bajt-polja koji sadrži dvostruki binarni prikaz BigInteger-a u BigInteger. |
2 | BigInteger (int signum, bajt [] veličina) | Pomaže u prevođenjupredstavljanje veličine znaka BigInteger u BigInteger. |
3 | BigInteger (int bitLength, int sigurnost, Slučajno rnd) | Pomaže u konstrukciji slučajno generiranog pozitivnog BigInteger-a koji je vjerojatno prost, s navedenom bitLength. |
4 | BigInteger ( Niz val) | Pomaže u pretvaranju decimalnog predstavljanja niza BigInteger u BigInteger. |
5 | BigInteger ( Niz val, int radix) | Pretvara String prikaz BigInteger-a u navedenom radixu u BigInteger. |
Postoji ukupno 5 vrsta konstruktora i koriste se u skladu sa situacijama i parametrima koji su dostupni kod nas. Za razumijevanje koncepta poslužit ćemo se 4. konstruktorom iz tablice.
Sljedeći bit u ovom članku BigInteger In Java je,
Metode klase BigInteger
Kao što smo ranije razgovarali, svaka klasa ima različite atribute i metode koji su zajednički svim instancama te klase. Dok radite aritmetičke operacije uz pomoć klase BigInteger, upotreba aritmetičkih operatora nije od koristi. Stoga za provođenje aritmetičkih operacija trebamo koristiti metode klase BigInteger.
Metoda | Vrsta i vrijednost povrata | Opis |
Odjeljak () | Ova funkcija vraća BigInteger čija je vrijednost apsolutna vrijednost ovog BigInteger-a. | Ova funkcija pomaže u pronalaženju apsolutne vrijednosti datog BigInteger-a |
dodaj (BigInteger val) | Ova funkcija vraća BigInteger čija je vrijednost (this + val). val- vrijednost koja se dodaje ovom BigIntegeru | Pomaže u izvođenju operacije zbrajanja |
compareTo (BigInteger val) | Vraća -1 ako je BigInteger brojčano manji u odnosu na val, 0 ako je jednak, 1 ako je veći. val- BigInteger s kojim se ovaj BigInteger treba usporediti. pretvoriti binarni u cjelobrojni java | Uspoređuje ovaj BigInteger s navedenim BigInteger |
podijeli (BigInteger val) | Ova funkcija vraća BigInteger čija je vrijednost (this / val). val- vrijednost kojom se dijeli BigInteger. | Pomaže u izvođenju dijeljenja s danim BigInteger-om i donosi iznimku ako je podijeljeno s 0 |
jednako ( Objekt x) | Ova funkcija vraća true ako i samo ako je navedeni Objekt BigInteger čija je vrijednost numerički jednaka ovom BigIntegeru. x - Objekt s kojim se želi usporediti ovaj BigInteger. | Vraća logičku vrijednost. Tačno ako je navedeni Objekt BigInteger čija je vrijednost numerički jednaka ovom BigIntegeru. |
intValue () | ovaj je BigInteger pretvoren u tip int. | Pretvara ovaj BigInteger u int. |
množenje (BigInteger val) | Ova funkcija vraća BigInteger čija je vrijednost (this * val). val- Vrijednost koju treba pomnožiti s ovim BigInteger-om | Pomaže u izvođenju operacije množenja |
oduzmi (BigInteger val) | Ova funkcija vraća BigInteger čija je vrijednost (this - val). val- vrijednost koja se oduzima od ovog BigInteger-a | Pomaže u izvođenju operacije oduzimanja |
Metode spomenute u gornjoj tablici su metode koje se koriste većinu vremena dok se radi s klasom BigInteger. Da biste pogledali cjelovit popis klase BigInteger, prođite kroz službenu klasu BigInteger dokumenti koje pruža Oracle.
Primjer
Nakon razumijevanja koncepata OOP-a, klase BigInteger, njezinih konstruktora i metoda, razmotrimo sada primjer i pokažemo upotrebu klase BigInteger.
Pronađimo vrijeme potrebno svjetlu za dosezanje najbliže galaksije na zemlji tj. 2.4011019Km.
import java.math.BigInteger javna klasa BiggInteger {public static void main (String [] args) {BigInteger Distance = new BigInteger ('2401000000000000000000') BigInteger SpeedofLight = new BigInteger ('1080000000') BigInteger Time = Distance.divide (SpeedofLight) System.out.println ('Vrijeme potrebno svjetlu za dostizanje galaksije Andromeda je' + Vrijeme + 'sati')}}
Izlaz:
Proces je završen s izlaznim kodom = 0
Napomena - Gornji je slučaj primjerice svrha. U stvarnosti se odgovor može razlikovati.Isprobajte različite galaksije ili zvijezde i u skladu s tim uredite kôd.
Tako smo došli do kraja ovog članka o 'BigInteger u Javi'. Ako želite saznati više, pogledajte Edureka, pouzdane tvrtke za internetsko učenje. Edurekin tečaj za obuku i certificiranje Java J2EE i SOA osmišljen je kako bi vas osposobio za osnovne i napredne Java koncepte zajedno s raznim Java okvirima poput Hibernate & Spring.
Imate pitanje za nas? Molimo navedite ga u odjeljku za komentare ovog članka i javit ćemo vam se što je prije moguće.