Uvod u Java primitive

1. Pregled

Programski jezik Java sadrži osam primitivnih vrsta podataka.

U ovom ćemo se članku prisjetiti što su to primitivi i prijeći na njih.

2. Primitivni tipovi podataka

Osam primitiva definiranih u Javi su int, bajt, kratak, dugo, plutati, dvostruko, boolean, i char - oni se ne smatraju objektima i predstavljaju sirove vrijednosti.

Pohranjuju se izravno na stog (pogledajte ovaj članak za više informacija o upravljanju memorijom u Javi).

Pogledajmo veličinu pohrane, zadane vrijednosti i primjere kako koristiti svaku vrstu.

Počnimo s brzom referencom:

TipVeličina (bitovi)MinimumMaksimumPrimjer
bajt8-2727– 1bajt b = 100;
kratak16-215215– 1kratko s = 30_000;
int32-231231– 1int i = 100_000_000;
dugo64-263263– 1dugo l = 100_000_000_000_000;
plutati32-2-149(2-2-23)·2127plutajuće f = 1.456f;
dvostruko64-2-1074(2-2-52)·21023dvostruki f = 1,456789012345678;
ugljen160216– 1char c = "c";
boolean1logička b = točno;

2.1. int

Prva primitivna vrsta podataka koju ćemo pokriti je int. Također poznat kao cijeli broj, int vrsta sadrži širok raspon nerazlomljivih vrijednosti brojeva.

Posebno, Java ga pohranjuje koristeći 32 bita memorije. Drugim riječima, može predstavljati vrijednosti od -2,147,483,648 (-231) do 2,147,483,647 (231-1).

U Javi 8 moguće je pohraniti nepotpisanu cijelu vrijednost do 4.294.967.295 (232-1) pomoću novih posebnih pomoćnih funkcija.

Jednostavno možemo proglasiti int jednostavno:

int x = 424_242; int y;

Zadana vrijednost int proglašen bez zadatka je 0.

Ako je varijabla definirana u metodi, moramo dodijeliti vrijednost prije nego što ćemo je moći koristiti.

Možemo izvoditi sve standardne aritmetičke operacije na ints. Samo budi svjestan toga decimalne vrijednosti bit će odsječene kada ih izvodite na cijelim brojevima.

2.2. bajt

bajt je primitivni tip podataka sličan int, osim zauzima samo 8 bitova memorije. Stoga, zašto to nazivamo bajtom. Budući da je veličina memorije tako mala, bajt može sadržavati samo vrijednosti od -128 (-27) do 127 (27 - 1).

Možemo stvarati bajt:

bajt b = 100; bajt prazan;

Zadana vrijednost bajt je također 0.

2.3. kratak

Sljedeća stanica na našem popisu primitivnih vrsta podataka u Javi je kratak.

Ako želimo uštedjeti memoriju i bajt premalen, možemo koristiti tip na pola puta između dva: kratak.

Sa 16 bitova memorije, to je upola manje od int i dvostruko veća od bajt. Raspon mogućih vrijednosti mu je od -32.768 (-215) do 32.767 (215 - 1).

kratak se deklarira ovako:

kratko s = 202_020; kratki s;

Također slična ostalim vrstama, zadana vrijednost je 0. Na njoj možemo koristiti i svu standardnu ​​aritmetiku.

2.4. dugo

Naš posljednji primitivni tip podataka koji se odnosi na cijele brojeve je dugo.

dugo je stariji brat int. Pohranjen je u 64 bita memorije pa može sadržavati znatno veći skup mogućih vrijednosti.

Moguće vrijednosti long-a su između -9,223,372,036,854,775,808 (-263) do 9,223,372,036,854,775,807 (263 - 1).

Jednostavno možemo proglasiti jedan:

dugo l = 1_234_567_890; dugo l;

Kao i kod ostalih vrsta cijelih brojeva, zadana vrijednost je također 0. Možemo koristiti svu aritmetiku dugo koji djeluje na int.

2.5. plutati

Predstavljamo osnovne razlomljene brojeve u Javi koristeći plutati tip. Ovo je decimalni broj s jednom preciznošću. Što znači da ako prijeđemo šest decimalnih mjesta, taj broj postaje manje precizan i više procjenjuje.

U većini slučajeva nije nas briga za gubitak preciznosti. Ali, ako naš izračun zahtijeva apsolutnu preciznost (tj. Financijske operacije, slijetanje na Mjesec itd.), Trebamo koristiti određene vrste dizajnirane za ovaj rad. Za više informacija pogledajte Java razred Big Decimal.

Ova vrsta je pohranjena u 32 bita memorije, baš kao int. Međutim, zbog plutajuće decimalne točke njegov se raspon znatno razlikuje. Može predstavljati i pozitivne i negativne brojeve. Najmanja decimala je 1,40239846 x 10-45, a najveća vrijednost 3,40282347 x 1038.

Izjavljujemo plutatije isti kao i bilo koji drugi tip:

plovak f = 3,145f; plutati f;

A zadana vrijednost je 0,0 umjesto 0. Također, primijetite da dodajemo f oznaka na kraj doslovnog broja za definiranje plovka. Inače, Java će izbaciti pogrešku jer je zadana vrsta decimalne vrijednosti dvostruko.

Također možemo izvoditi sve standardne aritmetičke operacije plutatis. Međutim, važno je napomenuti da aritmetiku s pomičnim zarezom izvodimo vrlo različito od aritmetike cijelih brojeva.

2.6. dvostruko

Dalje, gledamo dvostruko - njegovo ime dolazi iz činjenice da je to decimalni broj dvostruke preciznosti.

Pohranjen je u 64 bita memorije. Što znači da predstavlja mnogo veći raspon mogućih brojeva od plutati.

Iako pati od istog ograničenja preciznosti kao i plutati čini. Raspon je od 4,9406564584124654 x 10-324 do 1,7976931348623157 x 10308. Taj raspon također može biti pozitivan ili negativan.

Izjava dvostruko je isti kao i ostali numerički tipovi:

dvostruki d = 3,13457599923384753929348D; dvostruki d;

Zadana vrijednost je također 0,0 kao i kod plutati.Slično plutati, prilažemo pismo D da se doslovno označi kao dvostruko.

2.7. boolean

Najjednostavniji primitivni tip podataka je boolean. Može sadržavati samo dvije vrijednosti: pravi ili lažno. Svoju vrijednost pohranjuje u jedan bit.

Međutim, zbog praktičnosti, Java uloži vrijednost i pohranjuje je u jedan bajt.

Proglasiti boolean kao ovo:

logička b = točno; logička b;

Deklariranje bez vrijednosti zadano je na lažno. boolean je kamen temeljac za kontrolu tijeka naših programa. Na njima možemo koristiti logičke operatore (tj. i, ili, itd.).

2.8. ugljen

Konačni primitivni tip podataka koji treba pogledati je ugljen.

Također se naziva likom, ugljen je 16-bitni cijeli broj koji predstavlja Unicode kodirani znak. Raspon mu je od 0 do 65.535. Što u Unicodeu predstavlja "\ U0000" do "\ Uffff".

Za popis svih mogućih Unicode vrijednosti provjerite web lokacije poput Unicode tablice.

Proglasimo sada a ugljen:

char c = 'a'; char c = 65; char c;

Kad definiramo svoje varijable, možemo koristiti bilo koji znakovni literal, a oni će se automatski transformirati u svoje Unicode kodiranje za nas. Zadana vrijednost znakova je ‘/ U0000’.

2.9. Prelijevanje

Primitivni tipovi podataka imaju ograničenja veličine. Ali što se događa ako pokušamo pohraniti vrijednost koja je veća od maksimalne vrijednosti?

Nailazimo na situaciju tzv prelijevanje.

Kad se cijeli broj prelije, prevrne se na minimalnu vrijednost i odatle počne odbrojavati.

Broj plutajuće točke prelijeva se vraćanjem Beskonačnosti. Kad se prelijevaju, vraćaju 0,0.

Evo primjera:

int i = Integer.MAX_VALUE; int j = i + 1; // j će se prevrnuti na -2_147_483_648 double d = Double.MAX_VALUE; dvostruko o = d + 1; // o bit će Beskonačnost

Podlijevanje je isti problem, osim ako pohranjujemo vrijednost manju od minimalne vrijednosti.

2.10. Autoboks

Svaka primitivna vrsta podataka također ima potpunu implementaciju Java klase koja je može umotati. Na primjer, Cijeli broj razred može zamotati int. Ponekad postoji potreba za pretvaranjem iz primitivnog tipa u svoj omot objekta (npr., Njihova upotreba s generičkim lijekovima).

Srećom, Java može izvršiti ovu pretvorbu za nas automatski. Taj proces nazivamo Autoboks. Evo primjera:

Znak c = 'c'; Cijeli broj i = 1;

3. Zaključak

U ovom smo tutorijalu pokrili osam primitivnih vrsta podataka podržanih u Javi.

To su gradivni blokovi koje koristi većina svih Java programa - pa vrijedi razumjeti njihov rad.