Typy údajov Java
Java je staticky typovaný a tiež silne typovaný jazyk, pretože v Jave je každý typ údajov (napríklad celé číslo, znak, šestnástka, zbalená desiatková sústava atď.) preddefinovaný ako súčasť programovacieho jazyka a všetky konštanty alebo premenné sú definované pre daný program musí byť opísaný jedným z dátových typov Java.
Typy údajov v jazyku Java
Dátové typy v Jave majú rôzne veľkosti a hodnoty, ktoré možno uložiť do premennej, ktorá je vytvorená podľa potreby a okolností, aby pokryla všetky testovacie prípady. Java má dve kategórie, v ktorých sú dátové typy oddelené
- Primitívny typ údajov: ako napríklad boolean, char, int, short, byte, long, float a double
- Neprimitívny typ údajov alebo typ údajov objektu: ako je reťazec, pole atď.
Primitívne dátové typy v Jave
Primitívne údaje sú iba jednotlivé hodnoty a nemajú žiadne špeciálne možnosti. Existuje 8 primitívnych dátových typov. Nižšie sú zobrazené v tabuľkovom formáte takto:
| Typ | Popis | Predvolené | Veľkosť | Príklad literálov | Rozsah hodnôt |
|---|---|---|---|---|---|
| boolovská hodnota | pravda alebo lož | falošný | 1 bit | pravda lož | pravda lož |
| byte | celé číslo s dvojkovým doplnkom | 0 | 8 bitov | (žiadne) | -128 až 127 |
| char | Unicode znak | u0000 | 16 bitov | 'a', 'u0041', '101', '', '', ' ', 'b' | znaková reprezentácia hodnôt ASCII 0 až 255 |
| krátky | celé číslo s dvojkovým doplnkom | 0 | 16 bitov | (žiadny) | -32 768 až 32 767 |
| int | dvojkomplement intger | 0 | 32 bitov | -2,-1,0,1,2 | -2,147,483,648 do 2,147,483,647 |
| dlhý | celé číslo s dvojkovým doplnkom | 0 | 64 bitov | -2L,-1L,0L,1L,2L | -9,223,372,036,854,775,808 do 9,223,372,036,854,775,807 |
| plavák | IEEE 754 s pohyblivou rádovou čiarkou | 0,0 | 32 bitov | 1.23e100f , -1.23e-100f , .3f ,3.14F | až 7 desatinných číslic |
| dvojitý | IEEE 754 s pohyblivou rádovou čiarkou | 0,0 | 64 bitov | 1,23456e300d , -123456e-300d , 1e1d | až 16 desatinných číslic |
Poďme diskutovať a implementovať každý z nasledujúcich typov údajov, ktoré sú nasledovné:
1. Booleovský typ údajov
Booleovský dátový typ predstavuje iba jeden bit informácie buď pravdivé alebo nepravdivé ktorý má reprezentovať dve pravdivostné hodnoty logiky a booleovskej algebry, ale veľkosť typu booleovských údajov je závislé od virtuálneho stroja . Hodnoty typu boolean sa nekonvertujú implicitne ani explicitne (s pretypovaním) na žiadny iný typ. Ale programátor môže ľahko napísať konverzný kód.
Syntax:
boolean booleanVar;
Veľkosť: Závisí od virtuálneho stroja
2. Typ údajov bajtu
Typ údajov bajt je 8-bitové celé číslo so znamienkom dvojky. Dátový typ byte je užitočný na šetrenie pamäte vo veľkých poliach.
Syntax:
byte byteVar;
Veľkosť: 1 bajt (8 bitov)
3. Krátky typ údajov
Krátky typ údajov je 16-bitové celé číslo so znamienkom dvojky. Podobne ako v prípade bajtu použite skratku na šetrenie pamäte vo veľkých poliach v situáciách, keď na úspore pamäte skutočne záleží.
Syntax:
short shortVar;
Veľkosť: 2 bajty (16 bitov)
4. Integer Data Type
Ide o 32-bitové celé číslo s dvojkovým doplnkom so znamienkom.
Syntax:
int intVar;
Veľkosť: 4 bajty (32 bitov)
Pamätajte: V Java SE 8 a novších verziách môžeme použiť dátový typ int na reprezentáciu 32-bitového celého čísla bez znamienka, ktoré má hodnotu v rozsahu [0, 2 32 -1]. Ak chcete použiť typ údajov int ako celé číslo bez znamienka, použite triedu Integer.
5. Dlhý typ údajov
Dosah longu je pomerne veľký. Typ údajov long je 64-bitové celé číslo s dvojkovým doplnkom a je užitočné v prípadoch, keď typ int nie je dostatočne veľký na to, aby udržal požadovanú hodnotu. Veľkosť Long Datatype je 8 bajtov (64 bitov).
Syntax:
long longVar;
Pamätajte: V Java SE 8 a novších verziách môžete použiť typ údajov long na reprezentáciu 64-bitovej dĺžky bez znamienka, ktorá má minimálnu hodnotu 0 a maximálnu hodnotu 2 64 -1. Trieda Long obsahuje aj metódy ako porovnávanie Unsigned, Delenie Unsigned atď. na podporu aritmetických operácií pre Unsigned long.
6. Typ pohyblivých údajov
Typ údajov float je 32-bitový IEEE 754 s jednoduchou presnosťou a pohyblivou rádovou čiarkou. Ak potrebujete ušetriť pamäť vo veľkých poliach čísel s pohyblivou rádovou čiarkou, použite float (namiesto double). Veľkosť dátového typu float je 4 bajty (32 bitov).
Syntax:
float floatVar;
7. Dvojitý typ údajov
Typ údajov double je 64-bitový IEEE 754 s pohyblivou rádovou čiarkou s dvojitou presnosťou. Pre desiatkové hodnoty je tento typ údajov vo všeobecnosti predvolenou voľbou. Veľkosť typu double je 8 bajtov alebo 64 bitov.
Syntax:
double doubleVar;
Poznámka: Obidva typy údajov typu float aj double boli navrhnuté špeciálne pre vedecké výpočty, kde sú prijateľné chyby v aproximácii. Ak je presnosť na prvom mieste, odporúča sa nepoužívať tieto typy údajov a namiesto toho použiť triedu BigDecimal.
Odporúča sa prejsť zaokrúhľovanie chýb v jave.
8. Typ údajov znaku
Typ údajov char je jeden 16-bitový znak Unicode s veľkosťou 2 bajty (16 bitov).
Syntax:
char charVar;
Prečo je veľkosť znaku 2 bajty v jazyku Java?
Takže iné jazyky ako C/C++ používajú iba ASCII znaky a na reprezentáciu všetkých ASCII znakov stačí 8 bitov. Ale Java používa Systém Unicode, nie systém kódu ASCII a na reprezentáciu systému Unicode 8 bitov nestačí na reprezentáciu všetkých znakov, takže Java používa na znaky 2 bajty. Unicode definuje plne medzinárodnú znakovú sadu, ktorá môže reprezentovať väčšinu svetových písaných jazykov. Ide o zjednotenie desiatok znakových sád, ako je latinka, gréčtina, azbuka, katakana, arabčina a mnoho ďalších.
Príklad:
Java
// Java Program to Demonstrate Char Primitive Data Type> // Class> class> GFG {> > // Main driver method> > public> static> void> main(String args[])> > {> > // Creating and initializing custom character> > char> a => 'G'> ;> > // Integer data type is generally> > // used for numeric values> > int> i => 89> ;> > // use byte and short> > // if memory is a constraint> > byte> b => 4> ;> > // this will give error as number is> > // larger than byte range> > // byte b1 = 7888888955;> > short> s => 56> ;> > // this will give error as number is> > // larger than short range> > // short s1 = 87878787878;> > // by default fraction value> > // is double in java> > double> d => 4.355453532> ;> > // for float use 'f' as suffix as standard> > float> f => 4> .7333434f;> > // need to hold big range of numbers then we need> > // this data type> > long> l => 12121> ;> > System.out.println(> 'char: '> + a);> > System.out.println(> 'integer: '> + i);> > System.out.println(> 'byte: '> + b);> > System.out.println(> 'short: '> + s);> > System.out.println(> 'float: '> + f);> > System.out.println(> 'double: '> + d);> > System.out.println(> 'long: '> + l);> > }> }> |
Výkon
char: G integer: 89 byte: 4 short: 56 float: 4.7333436 double: 4.355453532 long: 12121
Neprimitívny typ údajov alebo referenčné typy údajov
The Referenčné typy údajov bude obsahovať pamäťovú adresu hodnôt premenných, pretože referenčné typy neuložia hodnotu premennej priamo do pamäte. Sú to reťazce, objekty, polia atď.
1. Struny
Struny sú definované ako pole znakov. Rozdiel medzi poľom znakov a reťazcom v jazyku Java je v tom, že reťazec je navrhnutý tak, aby obsahoval sekvenciu znakov v jednej premennej, zatiaľ čo pole znakov je kolekcia samostatných entít typu znak. Na rozdiel od C/C++ nie sú reťazce Java ukončené znakom null.
Syntax: Vyhlásenie reťazca
= ;
Príklad:
// Declare String without using new operator String s = 'techcodeview.com'; // Declare String using new operator String s1 = new String('techcodeview.com'); 2. Trieda
A trieda je užívateľom definovaný plán alebo prototyp, z ktorého sa vytvárajú objekty. Predstavuje množinu vlastností alebo metód, ktoré sú spoločné pre všetky objekty jedného typu. Vo všeobecnosti môžu deklarácie tried obsahovať tieto komponenty v poradí:
- Modifikátory : Trieda môže byť verejná alebo má predvolený prístup. Odkazujú na špecifikátory prístupu pre triedy alebo rozhrania v jazyku Java
- Názov triedy: Meno by sa malo začínať začiatočným písmenom (veľkým veľkým začiatočným písmenom).
- Supertrieda (ak existuje): Názov rodiča triedy (nadtrieda), ak existuje, pred ktorým je kľúčové slovo extends. Trieda môže rozšíriť (podtriedu) iba o jedného rodiča.
- Rozhrania (ak existujú): Čiarkami oddelený zoznam rozhraní implementovaných triedou, ak nejaké existujú, pred ktorým je kľúčové slovo implements. Trieda môže implementovať viac ako jedno rozhranie.
- Telo: Telo triedy je obklopené zloženými zátvorkami { }.
3. Objekt
An Objekt je základnou jednotkou objektovo orientovaného programovania a predstavuje entity reálneho života. Typický program Java vytvára veľa objektov, ktoré, ako viete, interagujú vyvolávaním metód. Objekt pozostáva z:
- Štát : Je reprezentovaný atribútmi objektu. Odráža tiež vlastnosti objektu.
- Správanie : Je reprezentovaný metódami objektu. Odráža tiež reakciu objektu na iné objekty.
- Identita : Poskytuje jedinečný názov objektu a umožňuje interakciu jedného objektu s inými objektmi.
4. Rozhranie
Ako trieda, an rozhranie môžu mať metódy a premenné, ale metódy deklarované v rozhraní sú štandardne abstraktné (iba podpis metódy, žiadne telo).
- Rozhrania špecifikujú, čo musí trieda robiť a nie ako. Je to plán triedy.
- Rozhranie je o schopnostiach, ako napríklad, že hráč môže byť rozhraním a každá trieda implementujúca hráč musí byť schopná (alebo musí implementovať) move(). Takže špecifikuje množinu metód, ktoré má trieda implementovať.
- Ak trieda implementuje rozhranie a neposkytuje telá metód pre všetky funkcie špecifikované v rozhraní, trieda musí byť vyhlásená za abstraktnú.
- Príkladom knižnice Java je Rozhranie komparátora . Ak trieda implementuje toto rozhranie, môže sa použiť na triedenie kolekcie.
5. Pole
An Pole je skupina premenných podobného typu, na ktoré sa odkazuje spoločným názvom. Polia v Jave fungujú inak ako v C/C++. Nasleduje niekoľko dôležitých bodov o poliach Java.
- V Jave sú všetky polia dynamicky alokované. (diskutované nižšie)
- Keďže polia sú v jazyku Java objekty, ich dĺžku môžeme zistiť pomocou dĺžky člena. Toto sa líši od C/C++, kde dĺžku nájdeme pomocou veľkosti.
- Premenná poľa Java môže byť tiež deklarovaná ako ostatné premenné s [] za typom údajov.
- Premenné v poli sú usporiadané a každá má index začínajúci 0.
- Pole Java možno použiť aj ako statické pole, lokálnu premennú alebo parameter metódy.
- The veľkosť poľa musí byť špecifikované hodnotou int a nie dlhé alebo krátke.
- Priama nadtrieda typu poľa je Object.
- Každý typ poľa implementuje rozhrania Klonovateľné a java.io.Serializovateľné .
Časté otázky o typoch údajov v jazyku Java
1. Čo sú dátové typy v jazyku Java?
Dátové typy majú rôzne veľkosti a hodnoty, ktoré možno uložiť do premennej, ktorá je vytvorená podľa potreby a okolností, aby pokryla všetky testovacie prípady.
2. Akých 8 dátových typov sa používa v jazyku Java?
V jave je 8 hlavných primitívnych dátových typov, ako je uvedené nižšie:
- boolovská hodnota
- byte
- char
- krátky
- int
- dlhý
- plavák
- dvojitý
3. Čo je primitívny typ v Jave?
Primitívne typy údajov sú typy v jazyku Java, ktoré môžu uložiť jednu hodnotu a neposkytujú žiadne špeciálne funkcie.
4. Prečo char používa 2 bajty v Jave a čo je u0000?
Char používa 2 bajty v jazyku Java, pretože používa skôr systém Unicode ako systém ASCII. u000 je najnižší rozsah systému Unicode.
Odhlásiť sa: Kvíz o type údajov v jazyku Java