Java duomenų tipai
„Java“ yra statinio tipo ir taip pat stipriai įvedama kalba, nes „Java“ programoje kiekvienas duomenų tipas (pvz., sveikasis skaičius, simbolis, šešioliktainis, supakuotas dešimtainis ir kt.) yra iš anksto apibrėžtas kaip programavimo kalbos dalis, o visos konstantos arba kintamieji, duota programa turi būti aprašyta vienu iš Java duomenų tipų.
Duomenų tipai Java
Duomenų tipai Java yra skirtingų dydžių ir reikšmių, kurios gali būti saugomos kintamajame, kuris yra sukurtas pagal patogumą ir aplinkybes, kad padengtų visus bandomuosius atvejus. „Java“ turi dvi kategorijas, kuriose duomenų tipai yra atskirti
- Primityvus duomenų tipas: pvz., loginis, char, int, trumpas, baitas, ilgas, plūduriuojantis ir dvigubas
- Neprimityvus duomenų tipas arba objekto duomenų tipas: pvz., eilutė, masyvas ir kt.
Primityvūs duomenų tipai Java
Primityvūs duomenys yra tik vienos reikšmės ir neturi ypatingų galimybių. Yra 8 primityvūs duomenų tipai. Jie pavaizduoti toliau lentelės formatu taip:
| Tipas | apibūdinimas | Numatytas | Dydis | Literalų pavyzdys | Vertybių diapazonas |
|---|---|---|---|---|---|
| loginis | tiesa ar melas | klaidinga | 1 bitas | tiesa, netikra | tiesa, netikra |
| baitas | dvejetų papildymo sveikasis skaičius | 0 | 8 bitai | (nė vienas) | -128-127 |
| char | Unicode simbolis | u0000 | 16 bitų | „a“, „u0041“, „101“, „“, „“, „ “, „b“ | ASCII reikšmių simboliai nuo 0 iki 255 |
| trumpas | dvejetų papildymo sveikasis skaičius | 0 | 16 bitų | (nė vienas) | -32 768–32 767 |
| tarpt | dvejetų komplemento sveikasis skaičius | 0 | 32 bitai | -2,-1,0,1,2 | -2 147 483 648 į 2 147 483 647 |
| ilgai | dvejetų papildymo sveikasis skaičius | 0 | 64 bitai | -2L,-1L,0L,1L,2L | -9 223 372 036 854 775 808 į 9,223,372,036,854,775,807 |
| plūdė | IEEE 754 slankusis kablelis | 0,0 | 32 bitai | 1.23e100f , -1.23e-100f , .3f ,3.14F | iki 7 dešimtainių skaitmenų |
| dvigubai | IEEE 754 slankusis kablelis | 0,0 | 64 bitai | 1.23456e300d , -123456e-300d , 1e1d | iki 16 skaitmenų po kablelio |
Aptarkime ir įgyvendinkime kiekvieną iš šių duomenų tipų, kurie yra tokie:
1. Būlio duomenų tipas
Būlio duomenų tipas reiškia tik vieną informacijos bitą arba tiesa, arba klaidinga kuris skirtas dviem logikos ir Būlio algebros tiesos reikšmėms pavaizduoti, tačiau loginio duomenų tipo dydis yra priklauso nuo virtualios mašinos . Būlio tipo reikšmės netiesiogiai arba tiesiogiai (su išmetimais) nekonvertuojamos į jokį kitą tipą. Tačiau programuotojas gali lengvai parašyti konvertavimo kodą.
Sintaksė:
boolean booleanVar;
Dydis: Priklauso nuo virtualios mašinos
2. Byte Data Type
Baitų duomenų tipas yra 8 bitų ženklas su dviem komplementais. Baitų duomenų tipas yra naudingas taupant atmintį dideliuose masyvuose.
Sintaksė:
byte byteVar;
Dydis: 1 baitas (8 bitai)
3. Trumpas duomenų tipas
Trumpas duomenų tipas yra 16 bitų pasirašytas dviejų komplemento sveikasis skaičius. Panašiai kaip baitas, naudokite trumpąjį žodį, kad išsaugotumėte atmintį dideliuose masyvuose, kai atminties taupymas iš tikrųjų yra svarbus.
Sintaksė:
short shortVar;
Dydis: 2 baitai (16 bitų)
4. Sveikasis duomenų tipas
Tai 32 bitų pasirašytas dviejų komplemento sveikasis skaičius.
Sintaksė:
int intVar;
Dydis: 4 baitai (32 bitai)
Prisiminti: Java SE 8 ir naujesnėje versijoje galime naudoti int duomenų tipą, kad pavaizduotume nepasirašytą 32 bitų sveikąjį skaičių, kurio reikšmė yra diapazone [0, 2 32 -1]. Norėdami naudoti int duomenų tipą kaip nepasirašytą sveikąjį skaičių, naudokite klasę Integer.
5. Ilgas duomenų tipas
Ilgų asortimentas yra gana didelis. Ilgasis duomenų tipas yra 64 bitų dviejų komplemento sveikasis skaičius ir yra naudingas tais atvejais, kai int tipas nėra pakankamai didelis, kad išlaikytų pageidaujamą reikšmę. Ilgo duomenų tipo dydis yra 8 baitai (64 bitai).
Sintaksė:
long longVar;
Prisiminti: „Java SE 8“ ir naujesnėje versijoje galite naudoti ilgąjį duomenų tipą, kad pavaizduotų nepasirašytą 64 bitų ilgį, kurio mažiausia reikšmė yra 0, o didžiausia – 2. 64 -1. „Long“ klasėje taip pat yra tokių metodų kaip Unsigned palyginimas, Unsigned padalijimas ir tt, kad būtų palaikomos aritmetinės operacijos be ženklų.
6. Slankiojo duomenų tipas
Slankiųjų duomenų tipas yra vieno tikslumo 32 bitų IEEE 754 slankusis kablelis. Naudokite slankiąją funkciją (o ne dvigubą), jei reikia išsaugoti atmintį dideliuose slankiojo kablelio skaičių masyvuose. Slankiojo duomenų tipo dydis yra 4 baitai (32 bitai).
Sintaksė:
float floatVar;
7. Dvigubas duomenų tipas
Dvigubas duomenų tipas yra dvigubo tikslumo 64 bitų IEEE 754 slankusis kablelis. Dešimtainėms reikšmėms šis duomenų tipas paprastai yra numatytasis pasirinkimas. Dvigubo duomenų tipo dydis yra 8 baitai arba 64 bitai.
Sintaksė:
double doubleVar;
Pastaba: Tiek plūduriuojančių, tiek dvigubų duomenų tipai buvo sukurti specialiai moksliniams skaičiavimams, kur priimtinos aproksimacinės klaidos. Jei tikslumas yra svarbiausias susirūpinimas, rekomenduojama nenaudoti šių duomenų tipų ir naudoti BigDecimal klasę.
Rekomenduojama pereiti suapvalinti java klaidas.
8. Char Data Type
Char duomenų tipas yra vienas 16 bitų Unikodo simbolis, kurio dydis yra 2 baitai (16 bitų).
Sintaksė:
char charVar;
Kodėl Java simbolio dydis yra 2 baitai?
Taigi kitose kalbose, tokiose kaip C/C++, naudojami tik ASCII simboliai, o visiems ASCII simboliams pavaizduoti pakanka 8 bitų. Tačiau Java naudoja Unicode sistema, o ne ASCII kodo sistema ir Unicode sistemai pavaizduoti 8 bitų neužtenka visiems simboliams pavaizduoti, todėl Java simboliams naudoja 2 baitus. Unikodas apibrėžia visiškai tarptautinį simbolių rinkinį, kuris gali atstoti daugumą pasaulio rašomųjų kalbų. Tai daugybės simbolių rinkinių, tokių kaip lotynų, graikų, kirilicos, katakana, arabų ir daugelio kitų, sujungimas.
Pavyzdys:
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);> > }> }> |
Išvestis
char: G integer: 89 byte: 4 short: 56 float: 4.7333436 double: 4.355453532 long: 12121
Neprimityvūs duomenų tipai arba nuorodos duomenų tipai
The Nuorodų duomenų tipai bus kintamųjų reikšmių atminties adresas, nes nuorodų tipai kintamojo reikšmės tiesiogiai atmintyje neišsaugos. Tai yra eilutės, objektai, masyvai ir kt.
1. Stygos
Stygos apibrėžiami kaip simbolių masyvas. Skirtumas tarp simbolių masyvo ir „Java“ eilutės yra tas, kad eilutė yra skirta simbolių sekai laikyti viename kintamajame, o simbolių masyvas yra atskirų simbolių tipo objektų rinkinys. Skirtingai nei C/C++, „Java“ eilutės nėra baigiamos nuliniu simboliu.
Sintaksė: Stygos deklaravimas
= ;
Pavyzdys:
// Declare String without using new operator String s = 'techcodeview.com'; // Declare String using new operator String s1 = new String('techcodeview.com'); 2. Klasė
A klasė yra vartotojo apibrėžtas projektas arba prototipas, iš kurio kuriami objektai. Tai reiškia ypatybių arba metodų, bendrų visiems vieno tipo objektams, rinkinį. Paprastai klasių deklaracijos gali apimti šiuos komponentus tokia tvarka:
- Modifikatoriai : klasė gali būti vieša arba turėti numatytąją prieigą. Atsižvelgti į pasiekti „Java“ klasių arba sąsajų prieigos specifikacijas
- Klasės pavadinimas: Pavadinimas turi prasidėti pradine raide (pagal susitarimą didžiosiomis raidėmis).
- Superklasė (jei yra): Klasės pirminės klasės pavadinimas (superklasė), jei toks yra, prieš raktinį žodį Extens. Klasė gali išplėsti (poklasį) tik vieną iš tėvų.
- Sąsajos (jei yra): Kableliais atskirtas klasės įdiegtų sąsajų sąrašas, jei yra, prieš kurį rašomas raktinis žodis implements. Klasė gali įdiegti daugiau nei vieną sąsają.
- Kūnas: Klasės korpusas yra apsuptas petnešomis, { }.
3. Objektas
An Objektas yra pagrindinis objektinio programavimo vienetas ir atspindi realaus gyvenimo esybes. Įprasta Java programa sukuria daugybę objektų, kurie, kaip žinote, sąveikauja pasitelkdami metodus. Objektas susideda iš:
- valstybė : jį pavaizduoja objekto atributai. Tai taip pat atspindi objekto savybes.
- Elgesys : Jis vaizduojamas objekto metodais. Tai taip pat atspindi objekto reakciją į kitus objektus.
- Tapatybė : suteikia unikalų pavadinimą objektui ir leidžia vienam objektui sąveikauti su kitais objektais.
4. Sąsaja
Kaip klasė, an sąsaja gali turėti metodus ir kintamuosius, tačiau sąsajoje deklaruoti metodai pagal numatytuosius nustatymus yra abstraktūs (tik metodo parašas, be kūno).
- Sąsajos nurodo, ką klasė turi daryti, o ne kaip. Tai yra klasės planas.
- Sąsaja yra susijusi su tokiomis galimybėmis, kaip grotuvas gali būti sąsaja, o bet kuri leistuvo klasė turi turėti galimybę (arba turi įgyvendinti) judėti (). Taigi jis nurodo metodų rinkinį, kurį klasė turi įgyvendinti.
- Jei klasė įgyvendina sąsają ir nepateikia metodų kūnų visoms sąsajoje nurodytoms funkcijoms, tada klasė turi būti paskelbta abstrakčia.
- „Java“ bibliotekos pavyzdys yra Lyginimo sąsaja . Jei klasė įgyvendina šią sąsają, ji gali būti naudojama kolekcijai rūšiuoti.
5. Masyvas
An Masyvas yra panašaus tipo kintamųjų, kurie vadinami bendru pavadinimu, grupė. Java masyvai veikia kitaip nei C/C++. Toliau pateikiami keli svarbūs dalykai apie „Java“ masyvus.
- Java programoje visi masyvai paskirstomi dinamiškai. (aptarta žemiau)
- Kadangi masyvai yra Java objektai, jų ilgį galime rasti naudodami nario ilgį. Tai skiriasi nuo C/C++, kur ilgį nustatome naudodami dydį.
- „Java“ masyvo kintamąjį taip pat galima deklaruoti kaip ir kitus kintamuosius su [] po duomenų tipo.
- Kintamieji masyve yra sutvarkyti ir kiekvienas turi indeksą, prasidedantį 0.
- Java masyvas taip pat gali būti naudojamas kaip statinis laukas, vietinis kintamasis arba metodo parametras.
- The dydis masyvo turi būti nurodyta int reikšme, o ne ilga ar trumpa.
- Tiesioginė masyvo tipo superklasė yra objektas.
- Kiekvienas masyvo tipas įgyvendina sąsajas Galima klonuoti ir java.io.Serializuojama .
DUK apie duomenų tipus Java
1. Kas yra duomenų tipai Java?
Duomenų tipai yra skirtingų dydžių ir reikšmių, kurie gali būti saugomi kintamajame, kuris yra sudarytas pagal patogumą ir aplinkybes, kad būtų padengti visi bandomieji atvejai.
2. Kokie yra 8 duomenų tipai, naudojami Java?
„Java“ yra 8 pagrindiniai primityvūs duomenų tipai, kaip nurodyta toliau:
- loginis
- baitas
- char
- trumpas
- tarpt
- ilgai
- plūdė
- dvigubai
3. Kuris yra primityvus tipas Java?
Primityvūs duomenų tipai yra Java tipai, kurie gali saugoti vieną reikšmę ir nesuteikia jokių specialių galimybių.
4. Kodėl char naudoja 2 baitus Java ir kas yra u0000?
Char naudoja 2 baitus Java, nes naudoja Unicode sistemą, o ne ASCII sistemą. u000 yra žemiausias Unicode sistemos diapazonas.
Išsiregistravimas: Viktorina apie duomenų tipą Java