logo

Java-datatyper

Java er statisk skrevet og også et sterkt skrevet språk fordi, i Java, er hver type data (som heltall, tegn, heksadesimal, pakket desimal og så videre) forhåndsdefinert som en del av programmeringsspråket og alle konstanter eller variabler definert for et gitt program må beskrives med en av Java-datatypene.

Datatyper i Java

Datatyper i Java er av forskjellige størrelser og verdier som kan lagres i variabelen som er laget etter hensiktsmessighet og omstendigheter for å dekke opp alle testtilfeller. Java har to kategorier der datatyper er segregerte

  1. Primitiv datatype: slik som boolean, char, int, short, byte, long, float og double
  2. Ikke-primitiv datatype eller objektdatatype: som String, Array, etc.

Data-Typer-Java



: i java

Primitive datatyper i Java

Primitive data er bare enkeltverdier og har ingen spesielle muligheter. Det er 8 primitive datatyper. De er avbildet nedenfor i tabellformat nedenfor som følger:

Type

Beskrivelse

Misligholde

Størrelse

Eksempel på bokstaver

Rekkevidde av verdier

boolsk sant eller usant falsk 1 bit sant, usant

sant, usant

byte to-komplement heltall 0 8 biter (ingen)

-128 til 127

røye Unicode-tegn u0000 16 biter 'a', 'u0041', '101', '', '', ' ', 'b'

tegnrepresentasjon av ASCII-verdier

0 til 255

kort to-komplement heltall 0 16 biter (ingen)

-32.768 til 32.767

int toer-komplement heltall 0 32 biter -2,-1,0,1,2

-2.147.483.648

til

2.147.483.647

lang to-komplement heltall 0 64 biter -2L,-1L,0L,1L,2L

-9 223 372 036 854 775 808

til

9.223.372.036.854.775.807

flyte IEEE 754 flytende punkt 0,0 32 biter 1.23e100f , -1.23e-100f , .3f ,3.14F

opptil 7 desimaler

dobbelt IEEE 754 flytende punkt 0,0 64 biter 1.23456e300d , -123456e-300d , 1e1d

opptil 16 desimaler

La oss diskutere og implementere hver av de følgende datatypene som er som følger:

1. Boolsk datatype

Boolsk datatype representerer bare én informasjonsbit enten sant eller usant som er ment å representere de to sannhetsverdiene for logikk og boolsk algebra, men størrelsen på den boolske datatypen er virtuell maskinavhengig . Verdier av typen boolsk konverteres ikke implisitt eller eksplisitt (med cast) til noen annen type. Men programmereren kan enkelt skrive konverteringskode.

Syntaks:

boolean booleanVar;>

Størrelse: Avhengig av virtuell maskin

2. Bytedatatype

Bytedatatypen er et 8-bits to-komplement heltall med fortegn. Bytedatatypen er nyttig for å lagre minne i store matriser.

Syntaks:

byte byteVar;>

Størrelse: 1 byte (8 bits)

javascript window.open

3. Kort datatype

Den korte datatypen er et 16-bits signert to-komplement heltall. I likhet med byte, bruk en short for å lagre minne i store matriser, i situasjoner der minnebesparelsene faktisk betyr noe.

Syntaks:

short shortVar;>

Størrelse: 2 byte (16 biter)

4. Heltallsdatatype

Det er et 32-bits signert to-komplement heltall.

Syntaks:

int intVar;>

Størrelse: 4 byte (32 biter)

Huske: I Java SE 8 og nyere kan vi bruke int-datatypen til å representere et usignert 32-bits heltall, som har en verdi i området [0, 232-1]. Bruk Integer-klassen for å bruke int-datatypen som et heltall uten fortegn.

5. Lang datatype

Rekkevidden til en lang er ganske stor. Den lange datatypen er et 64-bits to-komplement heltall og er nyttig for anledninger der en int-type ikke er stor nok til å holde ønsket verdi. Størrelsen på den lange datatypen er 8 byte (64 biter).

Syntaks:

long longVar;>

Huske: I Java SE 8 og nyere kan du bruke den lange datatypen til å representere en usignert 64-bit lang, som har en minimumsverdi på 0 og en maksimumsverdi på 264-1. Long-klassen inneholder også metoder som å sammenligne Unsigned, dividere Unsigned, etc for å støtte aritmetiske operasjoner for unsigned long.

forskjellen mellom en tiger og en løve

6. Flytende datatype

Flytdatatypen er en enkeltpresisjon 32-bit IEEE 754 flytende punkt. Bruk en flyte (i stedet for dobbel) hvis du trenger å spare minne i store arrayer av flytende tall. Størrelsen på flytdatatypen er 4 byte (32 biter).

Syntaks:

float floatVar;>

7. Dobbel datatype

Den doble datatypen er et 64-bits IEEE 754 flytende punkt med dobbel presisjon. For desimalverdier er denne datatypen vanligvis standardvalget. Størrelsen på den doble datatypen er 8 byte eller 64 biter.

Syntaks:

double doubleVar;>

Merk: Både flytende og doble datatyper ble designet spesielt for vitenskapelige beregninger, der tilnærmingsfeil er akseptable. Hvis nøyaktighet er den viktigste bekymringen, anbefales det å ikke bruke disse datatypene og bruke BigDecimal-klassen i stedet.

Det anbefales å gå gjennom avrunde feil i java.

8. Char Data Type

Tegndatatypen er et enkelt 16-bits Unicode-tegn med størrelsen 2 byte (16 bits).

Syntaks:

char charVar;>

Hvorfor er størrelsen på røye 2 byte i Java?

Så andre språk som C/C++ bruker bare ASCII-tegn, og for å representere alle ASCII-tegn er 8 bits nok. Men Java bruker Unicode-systemet ikke ASCII-kodesystemet og for å representere Unicode-systemet er 8 biter ikke nok til å representere alle tegn, så Java bruker 2 byte for tegn. Unicode definerer et fullt internasjonalt tegnsett som kan representere de fleste av verdens skriftspråk. Det er en forening av dusinvis av tegnsett, som latin, gresk, kyrillisk, katakana, arabisk og mange flere.

Eksempel:

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

>

tømme npm cache
>

Produksjon

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

Ikke-primitive datatyper eller referansedatatyper

De Referansedatatyper vil inneholde en minneadresse med variabelverdier fordi referansetypene ikke vil lagre variabelverdien direkte i minnet. De er strenger, objekter, arrays, etc.

1. Strenger

Strenger er definert som en rekke tegn. Forskjellen mellom en tegnmatrise og en streng i Java er at strengen er designet for å inneholde en sekvens av tegn i en enkelt variabel, mens en tegnmatrise er en samling av separate enheter av tegntypen. I motsetning til C/C++, avsluttes ikke Java-strenger med et nulltegn.

Syntaks: Erklærer en streng

 = ;>

Eksempel:

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

2. Klasse

EN klasse er en brukerdefinert blåkopi eller prototype som objekter opprettes fra. Den representerer settet med egenskaper eller metoder som er felles for alle objekter av én type. Generelt kan klasseerklæringer inkludere disse komponentene, i rekkefølge:

  1. Modifikatorer : En klasse kan være offentlig eller har standardtilgang. Referere til tilgangspesifikasjoner for klasser eller grensesnitt i Java
  2. Klassenavn: Navnet skal begynne med en forbokstav (store bokstaver etter konvensjon).
  3. Superklasse (hvis noen): Navnet på klassens overordnede (superklasse), hvis noen, etter nøkkelordet utvides. En klasse kan bare utvide (underklasse) én forelder.
  4. Grensesnitt (hvis noen): En kommadelt liste over grensesnitt implementert av klassen, hvis noen, innledet med nøkkelordet implements. En klasse kan implementere mer enn ett grensesnitt.
  5. Kropp: Klassekroppen er omgitt av klammeparenteser, { }.

3. Objekt

An Gjenstand er en grunnleggende enhet for objektorientert programmering og representerer virkelige enheter. Et typisk Java-program lager mange objekter, som som du vet samhandler ved å påkalle metoder. Et objekt består av:

  1. Stat : Det er representert av attributtene til et objekt. Det gjenspeiler også egenskapene til et objekt.
  2. Oppførsel : Det er representert ved metodene til et objekt. Det reflekterer også responsen til et objekt på andre objekter.
  3. Identitet : Det gir et unikt navn til et objekt og lar ett objekt samhandle med andre objekter.

4. Grensesnitt

Som en klasse, en grensesnitt kan ha metoder og variabler, men metodene som er deklarert i et grensesnitt er som standard abstrakte (bare metodesignatur, ingen brødtekst).

  • Grensesnitt spesifiserer hva en klasse må gjøre og ikke hvordan. Det er planen for klassen.
  • Et grensesnitt handler om evner som en spiller kan være et grensesnitt og enhver klasse som implementerer spiller må kunne (eller implementere) move(). Så den spesifiserer et sett med metoder som klassen må implementere.
  • Hvis en klasse implementerer et grensesnitt og ikke gir metodelegemer for alle funksjoner spesifisert i grensesnittet, må klassen erklæres abstrakt.
  • Et eksempel på et Java-bibliotek er Komparatorgrensesnitt . Hvis en klasse implementerer dette grensesnittet, kan det brukes til å sortere en samling.

5. Array

An Array er en gruppe av like-type variabler som refereres til med et felles navn. Arrays i Java fungerer annerledes enn de gjør i C/C++. Følgende er noen viktige punkter om Java-matriser.

  • I Java er alle arrays dynamisk tildelt. (diskutert nedenfor)
  • Siden matriser er objekter i Java, kan vi finne lengden deres ved å bruke medlemslengde. Dette er forskjellig fra C/C++ hvor vi finner lengde ved hjelp av størrelse.
  • En Java-matrisevariabel kan også deklareres som andre variabler med [] etter datatypen.
  • Variablene i matrisen er ordnet og hver har en indeks som begynner med 0.
  • Java-array kan også brukes som et statisk felt, en lokal variabel eller en metodeparameter.
  • De størrelse av en matrise må spesifiseres med en int-verdi og ikke lang eller kort.
  • Den direkte superklassen til en matrisetype er Object.
  • Hver matrisetype implementerer grensesnittene Klonbar og java.io.Serialiserbar .

Vanlige spørsmål om datatyper i Java

1. Hva er datatyper i Java?

Datatyper er av forskjellige størrelser og verdier som kan lagres i variabelen som er laget etter hensiktsmessighet og omstendigheter for å dekke alle testtilfeller.

2. Hva er de 8 datatypene som brukes i Java?

Det er 8 primitive hoveddatatyper i java som nevnt nedenfor:

  • boolsk
  • byte
  • røye
  • kort
  • int
  • lang
  • flyte
  • dobbelt

3. Hvilken er en primitiv type i Java?

Primitive datatyper er typene i java som kan lagre en enkelt verdi og ikke gir noen spesiell funksjon.

4. Hvorfor char bruker 2 byte i Java og hva er u0000?

Char bruker 2 byte i java fordi den bruker Unicode-systemet i stedet for ASCII-systemet. u000 er det laveste området til Unicode-systemet.

Sjekk ut: Quiz om datatype i Java