logo

Java-gegevenstypen

Java is statisch getypeerd en ook een sterk getypeerde taal omdat in Java elk type gegevens (zoals geheel getal, teken, hexadecimaal, gecomprimeerd decimaal, enzovoort) vooraf is gedefinieerd als onderdeel van de programmeertaal en alle constanten of variabelen zijn gedefinieerd voor een bepaald programma moet worden beschreven met een van de Java-gegevenstypen.

Gegevenstypen in Java

Gegevenstypen in Java zijn van verschillende groottes en waarden die kunnen worden opgeslagen in de variabele die is gemaakt volgens gemak en omstandigheden om alle testgevallen te verdoezelen. Java heeft twee categorieën waarin gegevenstypen worden gescheiden



  1. Primitief gegevenstype: zoals boolean, char, int, short, byte, long, float en double
  2. Niet-primitief gegevenstype of objectgegevenstype: zoals String, Array, enz.

Gegevenstypen-Java

hoe u de monitorgrootte kunt bepalen

Primitieve gegevenstypen in Java

Primitieve gegevens zijn slechts enkele waarden en hebben geen speciale mogelijkheden. Er zijn 8 primitieve gegevenstypen. Ze worden hieronder in tabelvorm als volgt weergegeven:

Type



Beschrijving

Standaard

Maat



Voorbeeld Letterlijke

Bereik van waarden

Booleaans waar of niet waar vals 1 beetje waar onwaar

waar onwaar

byte geheel getal met twee complementen 0 8 bits (geen)

-128 tot 127

verkoold Unicode-teken u0000 16 bits 'a', 'u0041', '101', '', '', ' ', 'b'

tekens representatie van ASCII-waarden

0 tot 255

kort geheel getal met twee complementen 0 16 bits (geen)

-32.768 tot 32.767

int twee-complement geheel getal 0 32 bits -2,-1,0,1,2

-2.147.483.648

naar

2.147.483.647

lang geheel getal met twee complementen 0 64 bits -2L,-1L,0L,1L,2L

-9.223.372.036.854.775.808

naar

9.223.372.036.854.775.807

vlot IEEE 754 drijvende komma 0,0 32 bits 1.23e100f, -1.23e-100f, .3f, 3.14F

tot 7 decimalen

dubbele IEEE 754 drijvende komma 0,0 64 bits 1.23456e300d, -123456e-300d, 1e1d

maximaal 16 decimale cijfers

Laten we elk van de volgende gegevenstypen bespreken en implementeren:

1. Booleaans gegevenstype

Het Booleaanse gegevenstype vertegenwoordigt slechts één bit aan informatie waar of onwaar die bedoeld is om de twee waarheidswaarden van logica en Booleaanse algebra weer te geven, maar de grootte van het Booleaanse gegevenstype is afhankelijk van virtuele machines . Waarden van het type boolean worden impliciet of expliciet (met casts) niet naar een ander type geconverteerd. Maar de programmeur kan gemakkelijk conversiecode schrijven.

Syntaxis:

boolean booleanVar;>

Maat: Afhankelijk van virtuele machine

2. Bytegegevenstype

Het bytegegevenstype is een 8-bits geheel getal met twee complementaire tekens. Het bytegegevenstype is handig voor het opslaan van geheugen in grote arrays.

Syntaxis:

byte byteVar;>

Maat: 1 byte (8 bits)

relationele algebra in rdbms

3. Kort gegevenstype

Het korte gegevenstype is een 16-bits geheel getal met twee complementaire tekens. Gebruik, net als byte, een short om geheugen te besparen in grote arrays, in situaties waarin de geheugenbesparing er echt toe doet.

Syntaxis:

short shortVar;>

Maat: 2 bytes (16 bits)

4. Gegevenstype geheel getal

Het is een 32-bits geheel getal met twee complementaire tekens.

Syntaxis:

int intVar;>

Maat: 4 bytes (32 bits)

Herinneren: In Java SE 8 en hoger kunnen we het gegevenstype int gebruiken om een ​​32-bits geheel getal zonder teken weer te geven, dat een waarde heeft in het bereik [0, 232-1]. Gebruik de klasse Integer om het gegevenstype int te gebruiken als een geheel getal zonder teken.

5. Lang gegevenstype

Het bereik van een long is behoorlijk groot. Het lange gegevenstype is een 64-bits geheel getal met twee complementen en is handig voor die gevallen waarin een int-type niet groot genoeg is om de gewenste waarde vast te houden. De grootte van het lange datatype is 8 bytes (64 bits).

Syntaxis:

long longVar;>

Herinneren: In Java SE 8 en hoger kunt u het gegevenstype long gebruiken om een ​​niet-ondertekende 64-bits lengte weer te geven, die een minimumwaarde van 0 en een maximumwaarde van 2 heeft64-1. De Long-klasse bevat ook methoden zoals het vergelijken van Unsigned, het delen van Unsigned, enz. om rekenkundige bewerkingen voor unsigned long te ondersteunen.

6. Zwevend gegevenstype

Het float-gegevenstype is een 32-bits IEEE 754 drijvende-komma met enkele precisie. Gebruik een float (in plaats van double) als u geheugen wilt besparen in grote reeksen drijvende-kommagetallen. De grootte van het float-gegevenstype is 4 bytes (32 bits).

Syntaxis:

float floatVar;>

7. Dubbel gegevenstype

Het dubbele gegevenstype is een 64-bits IEEE 754 drijvende komma met dubbele precisie. Voor decimale waarden is dit gegevenstype doorgaans de standaardkeuze. De grootte van het dubbele datatype is 8 bytes of 64 bits.

Syntaxis:

double doubleVar;>

Opmerking: Zowel float- als double-gegevenstypen zijn speciaal ontworpen voor wetenschappelijke berekeningen, waarbij benaderingsfouten acceptabel zijn. Als nauwkeurigheid het allerbelangrijkste is, wordt aanbevolen deze gegevenstypen niet te gebruiken en in plaats daarvan de BigDecimal-klasse te gebruiken.

Het is aan te raden om er doorheen te gaan fouten in Java afronden.

8. Char-gegevenstype

Het char-gegevenstype is een enkel 16-bits Unicode-teken met de grootte van 2 bytes (16 bits).

Syntaxis:

char charVar;>

Waarom is de grootte van char 2 bytes in Java?

Andere talen zoals C/C++ gebruiken dus alleen ASCII-tekens, en om alle ASCII-tekens weer te geven is 8 bits voldoende. Maar Java gebruikt de Unicode-systeem, niet het ASCII-codesysteem en om het Unicode-systeem weer te geven zijn 8 bits niet genoeg om alle karakters weer te geven, dus Java gebruikt 2 bytes voor karakters. Unicode definieert een volledig internationale tekenset die de meeste geschreven talen ter wereld kan vertegenwoordigen. Het is een samenvoeging van tientallen tekensets, zoals Latijn, Grieks, Cyrillisch, Katakana, Arabisch en nog veel meer.

Voorbeeld:

css een afbeelding centreren

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);> >}> }>

>

NPM-cache wissen
>

Uitvoer

char: G integer: 89 byte: 4 short: 56 float: 4.7333436 double: 4.355453532 long: 12121>

Niet-primitieve gegevenstypen of referentiegegevenstypen

De Referentiegegevenstypen zal een geheugenadres met variabele waarden bevatten omdat de referentietypen de variabele waarde niet rechtstreeks in het geheugen opslaan. Het zijn strings, objecten, arrays, enz.

1. Snaren

Snaren worden gedefinieerd als een reeks tekens. Het verschil tussen een karakterarray en een string in Java is dat de string is ontworpen om een ​​reeks karakters in één variabele vast te houden, terwijl een karakterarray een verzameling afzonderlijke entiteiten van het char-type is. In tegenstelling tot C/C++ worden Java-tekenreeksen niet afgesloten met een null-teken.

Syntaxis: Een string declareren

 = ;>

Voorbeeld:

// Declare String without using new operator  String s = 'techcodeview.com';  // Declare String using new operator  String s1 = new String('techcodeview.com');>

2. Klasse

A klas is een door de gebruiker gedefinieerde blauwdruk of prototype waaruit objecten worden gemaakt. Het vertegenwoordigt de reeks eigenschappen of methoden die gemeenschappelijk zijn voor alle objecten van één type. Over het algemeen kunnen klassedeclaraties deze componenten bevatten, in de volgende volgorde:

  1. Modificatoren : Een klasse kan openbaar zijn of heeft standaardtoegang. Verwijzen naar toegangsspecificaties voor klassen of interfaces in Java
  2. Naam van de klasse: De naam moet beginnen met een beginletter (volgens afspraak met een hoofdletter geschreven).
  3. Superklasse (indien aanwezig): De naam van de ouder van de klasse (superklasse), indien aanwezig, voorafgegaan door het trefwoord extends. Een klasse kan slechts één ouder uitbreiden (subklasse).
  4. Interfaces (indien aanwezig): Een door komma's gescheiden lijst met interfaces die door de klasse zijn geïmplementeerd, indien aanwezig, voorafgegaan door het trefwoord implements. Een klasse kan meer dan één interface implementeren.
  5. Lichaam: De hoofdtekst van de klasse wordt omgeven door accolades, { }.

3. Voorwerp

Een Voorwerp is een basiseenheid van objectgeoriënteerd programmeren en vertegenwoordigt entiteiten uit het echte leven. Een typisch Java-programma maakt veel objecten, die, zoals u weet, op elkaar inwerken door methoden aan te roepen. Een object bestaat uit:

  1. Staat : Het wordt weergegeven door de attributen van een object. Het weerspiegelt ook de eigenschappen van een object.
  2. Gedrag : Het wordt weergegeven door de methoden van een object. Het weerspiegelt ook de reactie van een object op andere objecten.
  3. Identiteit : Het geeft een unieke naam aan een object en zorgt ervoor dat een object kan communiceren met andere objecten.

4. Interface

Als een klas, een koppel kan methoden en variabelen bevatten, maar de methoden die in een interface worden gedeclareerd, zijn standaard abstract (alleen handtekening van de methode, geen hoofdtekst).

  • Interfaces specificeren wat een klasse moet doen en niet hoe. Het is de blauwdruk van de klas.
  • Een interface gaat over mogelijkheden zoals een speler een interface kan zijn en elke klasse-implementerende speler moet move() kunnen (of moeten implementeren). Het specificeert dus een reeks methoden die de klasse moet implementeren.
  • Als een klasse een interface implementeert en geen methode-instanties biedt voor alle functies die in de interface zijn gespecificeerd, moet de klasse abstract worden verklaard.
  • Een voorbeeld van een Java-bibliotheek is Vergelijkingsinterface . Als een klasse deze interface implementeert, kan deze worden gebruikt om een ​​verzameling te sorteren.

5. Array

Een Array is een groep variabelen van hetzelfde type waarnaar wordt verwezen met een algemene naam. Arrays in Java werken anders dan in C/C++. Hieronder volgen enkele belangrijke punten over Java-arrays.

  • In Java worden alle arrays dynamisch toegewezen. (hieronder besproken)
  • Omdat arrays objecten zijn in Java, kunnen we hun lengte vinden met behulp van de lidlengte. Dit is anders dan in C/C++, waar we lengte vinden met behulp van grootte.
  • Een Java-arrayvariabele kan ook net als andere variabelen worden gedeclareerd, met [] achter het gegevenstype.
  • De variabelen in de array zijn geordend en hebben elk een index die begint met 0.
  • Java-array kan ook worden gebruikt als een statisch veld, een lokale variabele of een methodeparameter.
  • De maat van een array moet worden gespecificeerd door een int-waarde en niet long of short.
  • De directe superklasse van een arraytype is Object.
  • Elk arraytype implementeert de interfaces Kloonbaar En java.io.Serializeerbaar .

Veelgestelde vragen over gegevenstypen in Java

1. Wat zijn gegevenstypen in Java?

Gegevenstypen hebben verschillende groottes en waarden die kunnen worden opgeslagen in de variabele die is gemaakt volgens gemak en omstandigheden om alle testgevallen te verdoezelen.

2. Wat zijn de 8 gegevenstypen die in Java worden gebruikt?

Er zijn 8 belangrijke primitieve gegevenstypen in Java, zoals hieronder vermeld:

  • Booleaans
  • byte
  • verkoold
  • kort
  • int
  • lang
  • vlot
  • dubbele

3. Wat is een primitief type in Java?

Primitieve gegevenstypen zijn de typen in Java die één enkele waarde kunnen opslaan en geen speciale mogelijkheden bieden.

4. Waarom gebruikt char 2 bytes in Java en wat is u0000?

Char gebruikt 2 bytes in Java omdat het het Unicode-systeem gebruikt in plaats van het ASCII-systeem. u000 is het laagste bereik van het Unicode-systeem.

Uitchecken: Quiz over gegevenstype in Java