Úvod do Java Primitive

1. Prehľad

Programovací jazyk Java obsahuje osem primitívnych dátových typov.

V tomto článku si pripomenieme, čo sú to primitíva, a prejdeme si ich.

2. Primitívne dátové typy

Osem primitív definovaných v Jave je int, bajt, krátky, dlho, plavák, dvojitý, boolovskýa char - nie sú považované za objekty a predstavujú nespracované hodnoty.

Sú uložené priamo v zásobníku (ďalšie informácie o správe pamäte v prostredí Java nájdete v tomto článku).

Pozrime sa na veľkosť úložiska, predvolené hodnoty a príklady použitia jednotlivých typov.

Začnime s krátkym odkazom:

TypVeľkosť (bity)MinimálneMaximumPríklad
bajt8-2727– 1bajt b = 100;
krátky16-215215– 1krátke s = 30_000;
int32-231231– 1int i = 100_000_000;
dlho64-263263– 1dlhé l = 100_000_000_000_000;
plavák32-2-149(2-2-23)·2127float f = 1,456f;
dvojitý64-2-1074(2-2-52)·21023dvojité f = 1,456789012345678;
char160216– 1char c = „c“;
boolovský1boolean b = pravda;

2.1. int

Prvý primitívny dátový typ, ktorý budeme pokrývať, je int. Tiež známe ako celé číslo, int typu obsahuje širokú škálu nefrakčných číselných hodnôt.

Konkrétne Java ho ukladá pomocou 32 bitov pamäte. Inými slovami, môže predstavovať hodnoty od -2 147 483 648 (-231) do 2 147 483 647 (231-1).

V prostredí Java 8 je možné pomocou nových špeciálnych pomocných funkcií uložiť celočíselnú hodnotu bez znamienka až do výšky 4 294 967 295 (232-1).

Môžeme jednoducho vyhlásiť int jednoducho:

int x = 424_242; int y;

Predvolená hodnota súboru int deklarované bez priradenia je 0.

Ak je premenná definovaná v metóde, predtým, ako ju budeme môcť použiť, musíme jej priradiť hodnotu.

Môžeme vykonávať všetky štandardné aritmetické operácie ints. Len si to uvedomte desatinné hodnoty budú odrezané pri ich vykonávaní na celých číslach.

2.2. bajt

bajt je primitívny dátový typ podobný intokrem zaberá iba 8 bitov pamäte. Prečo ho teda nazývame bajt. Pretože veľkosť pamäte je taká malá, bajt môže obsahovať iba hodnoty od -128 (-27) do 127 (27-1).

Môžeme vytvárať bajt:

bajt b = 100; bajt prázdny;

Predvolená hodnota je bajt je tiež 0.

2.3. krátky

Ďalšou zastávkou na našom zozname primitívnych dátových typov v Jave je krátky.

Ak chceme šetriť pamäť a bajt je príliš malý, môžeme použiť typ na polceste medzi týmito dvoma: krátky.

Pri 16 bitoch pamäte je to polovičná veľkosť int a dvojnásobná veľkosť bajt. Jeho rozsah možných hodnôt je -32 768 (-215) až 32 767 (215 - 1).

krátky je deklarované takto:

krátke s = 202_020; krátke s;

Rovnako ako ostatné typy, aj predvolená hodnota je 0. Môžeme na ňu použiť aj všetku štandardnú aritmetiku.

2.4. dlho

Náš posledný primitívny dátový typ súvisiaci s celými číslami je dlho.

dlho je veľký brat int. Je uložený v 64 bitoch pamäte takže môže obsahovať podstatne väčšiu množinu možných hodnôt.

Možné hodnoty longu sú medzi -9 223 372 036 854 775 808 (-263) až 9 223 372 036 854 775 807 (263 - 1).

Môžeme jednoducho vyhlásiť jeden:

dlhé l = 1_234_567_890; dlhé l;

Rovnako ako u iných celočíselných typov je predvolená hodnota tiež 0. Pri použití môžeme použiť všetku aritmetiku dlho na ktoré sa pracuje int.

2.5. plavák

Základné zlomkové čísla v Jave reprezentujeme pomocou znaku plavák typu. Toto je desatinné číslo s jednou presnosťou. Čo znamená, že ak sa dostaneme za šesť desatinných miest, toto číslo bude menej presné a bude skôr odhadom.

Vo väčšine prípadov sa nestaráme o stratu presnosti. Pokiaľ ale náš výpočet vyžaduje absolútnu presnosť (t. J. Finančné operácie, pristátie na Mesiaci atď.), Musíme použiť konkrétne typy určené pre túto prácu. Ďalšie informácie nájdete v Java triede Big Decimal.

Tento typ je rovnako uložený v 32 bitoch pamäte int. Avšak kvôli pohyblivej desatinnej čiarke je jeho rozsah veľmi odlišný. Môže predstavovať kladné aj záporné číslo. Najmenšie desatinné miesto je 1,40239846 x 10–45 a najväčšia hodnota je 3,40282347 x 1038.

Vyhlasujeme plavákje rovnaký ako akýkoľvek iný typ:

float f = 3,145f; plavák f;

A predvolená hodnota je 0,0 namiesto 0. Všimnite si tiež, že pridávame f označenie na koniec doslovného čísla na definovanie plaváka. Inak Java spôsobí chybu, pretože predvolený typ desatinnej hodnoty je dvojitý.

Môžeme tiež vykonať všetky štandardné aritmetické operácie plaváks. Je však dôležité poznamenať, že aritmetiku s pohyblivou rádovou čiarkou vykonávame veľmi odlišne ako celočíselnú aritmetiku.

2.6. dvojitý

Ďalej sa pozrieme na dvojitý - jeho názov pochádza zo skutočnosti, že ide o desatinné číslo s dvojitou presnosťou.

Je uložený v 64 bitoch pamäte. Čo znamená, že predstavuje oveľa väčší rozsah možných čísel ako plavák.

Aj keď, trpí rovnakým obmedzením presnosti ako plavák robí. Rozsah je 4,9406564584124654 x 10-324 až 1,7976931348623157 x 10308. Tento rozsah môže byť tiež pozitívny alebo negatívny.

Deklarácia dvojitý je rovnaký ako iné číselné typy:

dvojité d = 3,13457599923384753929348D; dvojité d;

Predvolená hodnota je tiež 0,0, ako je to v prípade plavák.Podobný plavák, pripájame list D označiť doslovný text ako dvojitý.

2.7. boolovský

Najjednoduchší primitívny dátový typ je boolovský. Môže obsahovať iba dve hodnoty: pravda alebo nepravdivé. Ukladá svoju hodnotu do jedného bitu.

Kvôli pohodliu však Java hodnotu vypíše a uloží do jedného bajtu.

Vyhlásiť boolovský Páči sa ti to:

boolean b = pravda; boolean b;

Deklarovanie bez hodnoty je predvolené nepravdivé. boolovský je základným kameňom kontroly toku našich programov. Môžeme na nich použiť boolovské operátory (t. J. a alebo atď.).

2.8. char

Posledný primitívny údajový typ, na ktorý sa treba pozrieť, je char.

Tiež sa nazýva postava, char je 16-bitové celé číslo predstavujúce znak kódovaný Unicode. Jeho rozsah je od 0 do 65 535. Čo v Unicode predstavuje „\ U0000“ do „\ Uffff“.

Zoznam všetkých možných hodnôt Unicode nájdete na weboch, ako je napríklad tabuľka Unicode.

Poďme teraz vyhlásiť a char:

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

Pri definovaní našich premenných môžeme použiť ľubovoľný literál znakov, ktorý sa pre nás automaticky transformuje do ich kódovania Unicode. Predvolená hodnota znakov je „/ U0000“.

2.9. Pretečenie

Primitívne dátové typy majú limity veľkosti. Čo sa však stane, ak sa pokúsime uložiť hodnotu, ktorá je väčšia ako maximálna hodnota?

Narazili sme na situáciu tzv prepad.

Keď celé číslo pretečie, pretočí sa na minimálnu hodnotu a odtiaľ začne počítať.

Pretekanie čísla s pohyblivou desatinnou čiarkou návratom nekonečna. Keď klesnú, vrátia sa 0,0.

Tu je príklad:

int i = Integer.MAX_VALUE; int j = i + 1; // j sa pretočí na -2_147_483_648 double d = Double.MAX_VALUE; dvojité o = d + 1; // o bude Nekonečno

Podtečenie je rovnaká záležitosť, okrem prípadov, keď ukladáme hodnotu menšiu ako minimálna hodnota.

2.10. Autoboxing

Každý primitívny dátový typ má tiež úplnú implementáciu triedy Java, ktorá ho dokáže zabaliť. Napríklad Celé číslo trieda môže zabaliť int. Niekedy je potrebné previesť z primitívneho typu na jeho obálku objektov (napr. Použiť ich s generikami).

Našťastie môže Java túto konverziu vykonať automaticky. Tento proces voláme Autoboxing. Tu je príklad:

Znak c = 'c'; Celé číslo i = 1;

3. Záver

V tomto tutoriáli sme sa venovali ôsmim primitívnym dátovým typom podporovaným v Jave.

Toto sú stavebné bloky, ktoré používa väčšina zo všetkých programov Java, ktoré tam nie sú - preto stojí za to pochopiť, ako fungujú.