Java datatyper

Java datatyper

Java er statisk skrevet og også et stærkt indtastet sprog, fordi i Java er hver type data (såsom heltal, tegn, hexadecimal, pakket decimal osv.) foruddefineret som en del af programmeringssproget og alle konstanter eller variabler defineret for et givet program skal beskrives med en af ​​Java datatyperne.

Datatyper i Java

Datatyper i Java er af forskellige størrelser og værdier, der kan gemmes i den variabel, der er lavet efter bekvemmelighed og omstændigheder for at dække over alle testtilfælde. Java har to kategorier, hvor datatyper er adskilt

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

Data-typer-Java

Primitive datatyper i Java

Primitive data er kun enkelte værdier og har ingen særlige muligheder. Der er 8 primitive datatyper. De er afbildet nedenfor i tabelformat nedenfor som følger:

Type

Beskrivelse

Standard

Størrelse

Eksempler på bogstaver

Vifte af værdier

boolesk sandt eller falsk falsk 1 bit sandt falsk

sandt falsk

byte to-komplement heltal 0 8 bits (ingen)

-128 til 127

char Unicode-tegn u0000 16 bits 'a', 'u0041', '101', '', '', ' ', 'b'

tegnrepræsentation af ASCII-værdier

0 til 255

kort to-komplement heltal 0 16 bits (ingen)

-32.768 til 32.767

int toer-komplement heltal 0 32 bit -2,-1,0,1,2

-2.147.483.648

til

2.147.483.647

lang to-komplement heltal 0 64 bit -2L,-1L,0L,1L,2L

-9.223.372.036.854.775.808

til

9.223.372.036.854.775.807

flyde IEEE 754 flydende komma 0,0 32 bit 1.23e100f , -1.23e-100f , .3f ,3.14F

op til 7 decimaler

dobbelt IEEE 754 flydende komma 0,0 64 bit 1.23456e300d , -123456e-300d , 1e1d

op til 16 decimaler

Lad os diskutere og implementere hver enkelt af følgende datatyper, der er som følger:

1. Boolesk datatype

Boolesk datatype repræsenterer kun én bit information enten sandt eller falsk som er beregnet til at repræsentere de to sandhedsværdier af logik og boolsk algebra, men størrelsen af ​​den boolske datatype er afhængig af virtuel maskine . Værdier af typen boolean konverteres ikke implicit eller eksplicit (med casts) til nogen anden type. Men programmøren kan nemt skrive konverteringskode.

Syntaks:

boolean booleanVar; 

Størrelse: Virtuel maskine afhængig

2. Byte Data Type

Bytedatatypen er et 8-bit signeret to-komplement heltal. Bytedatatypen er nyttig til at gemme hukommelse i store arrays.

Syntaks:

byte byteVar; 

Størrelse: 1 byte (8 bit)

3. Kort datatype

Den korte datatype er et 16-bit signeret to-komplement heltal. I lighed med byte skal du bruge en short til at gemme hukommelse i store arrays i situationer, hvor hukommelsesbesparelserne faktisk betyder noget.

Syntaks:

short shortVar; 

Størrelse: 2 bytes (16 bit)

4. Heltalsdatatype

Det er et 32-bit signeret to-komplement heltal.

Syntaks:

int intVar; 

Størrelse: 4 bytes (32 bits)

Husk: I Java SE 8 og nyere kan vi bruge int-datatypen til at repræsentere et usigneret 32-bit heltal, som har en værdi i området [0, 2 32 -1]. Brug Integer-klassen til at bruge int-datatypen som et heltal uden fortegn.

5. Lang datatype

Rækkevidden af ​​en lang er ret stor. Den lange datatype er et 64-bit to-komplement heltal og er nyttig til de lejligheder, hvor en int-type ikke er stor nok til at holde den ønskede værdi. Størrelsen af ​​den lange datatype er 8 bytes (64 bits).

Syntaks:

long longVar; 

Husk: I Java SE 8 og nyere kan du bruge den lange datatype til at repræsentere en usigneret 64-bit lang, som har en minimumsværdi på 0 og en maksimumværdi på 2 64 -1. Klassen Long indeholder også metoder som at sammenligne Unsigned, dividere Unsigned osv. for at understøtte aritmetiske operationer for unsigned long.

6. Flydende datatype

Den flydende datatype er en enkelt-præcision 32-bit IEEE 754 flydende komma. Brug en flydende (i stedet for dobbelt), hvis du har brug for at spare hukommelse i store arrays af flydende kommatal. Størrelsen af ​​float-datatypen er 4 bytes (32 bits).

Syntaks:

float floatVar; 

7. Dobbelt datatype

Den dobbelte datatype er en dobbeltpræcision 64-bit IEEE 754 flydende komma. For decimalværdier er denne datatype generelt standardvalget. Størrelsen af ​​den dobbelte datatype er 8 bytes eller 64 bits.

Syntaks:

double doubleVar; 

Bemærk: Både flydende og dobbelte datatyper er designet specielt til videnskabelige beregninger, hvor tilnærmelsesfejl er acceptable. Hvis nøjagtighed er den vigtigste bekymring, anbefales det ikke at bruge disse datatyper og bruge BigDecimal-klassen i stedet.

Det anbefales at gå igennem afrunding af fejl i java.

8. Char Data Type

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

Syntaks:

char charVar; 

Hvorfor er størrelsen på char 2 bytes i Java?

Så andre sprog som C/C++ bruger kun ASCII-tegn, og for at repræsentere alle ASCII-tegn er 8 bit nok. Men Java bruger Unicode-systemet ikke ASCII-kodesystemet og for at repræsentere Unicode-systemet er 8 bit ikke nok til at repræsentere alle tegn, så Java bruger 2 bytes til tegn. Unicode definerer et fuldt internationalt tegnsæt, der kan repræsentere de fleste af verdens skriftsprog. Det er en forening af snesevis af tegnsæt, såsom latin, græsk, 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);> > }> }>

Produktion

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

Ikke-primitive datatyper eller referencedatatyper

Det Referencedatatyper vil indeholde en hukommelsesadresse med variable værdier, fordi referencetyperne ikke gemmer variabelværdien direkte i hukommelsen. De er strenge, objekter, arrays osv.

1. Strenge

Strenge er defineret som en række tegn. Forskellen mellem et tegnarray og en streng i Java er, at strengen er designet til at indeholde en sekvens af tegn i en enkelt variabel, hvorimod et tegnarray er en samling af separate entiteter af tegntypen. I modsætning til C/C++ afsluttes Java-strenge ikke med et nul-tegn.

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 brugerdefineret blueprint eller prototype, hvorfra objekter er oprettet. Det repræsenterer det sæt af egenskaber eller metoder, der er fælles for alle objekter af én type. Generelt kan klasseerklæringer omfatte disse komponenter, i rækkefølge:

  1. Modifikatorer : En klasse kan være offentlig eller har standardadgang. Henvise til adgangsspecifikationer for klasser eller grænseflader i Java
  2. Klassenavn: Navnet skal begynde med et begyndelsesbogstav (med stort bogstav efter konvention).
  3. Superklasse (hvis nogen): Navnet på klassens forælder (superklasse), hvis nogen, efter nøgleordet udvider. En klasse kan kun udvide (underklasse) én forælder.
  4. Interfaces (hvis nogen): En kommasepareret liste over grænseflader implementeret af klassen, hvis nogen, efterfulgt af nøgleordet implementerer. En klasse kan implementere mere end én grænseflade.
  5. Legeme: Klassens krop er omgivet af seler, { }.

3. Objekt

An Objekt er en grundlæggende enhed af objektorienteret programmering og repræsenterer virkelige enheder. Et typisk Java-program skaber mange objekter, der som bekendt interagerer ved at påkalde metoder. Et objekt består af:

  1. Stat : Det er repræsenteret af et objekts attributter. Det afspejler også et objekts egenskaber.
  2. Opførsel : Det er repræsenteret af et objekts metoder. Det afspejler også et objekts reaktion på andre objekter.
  3. Identitet : Det giver et unikt navn til et objekt og gør det muligt for et objekt at interagere med andre objekter.

4. Interface

Som en klasse, en interface kan have metoder og variabler, men metoderne erklæret i en grænseflade er som standard abstrakte (kun metodesignatur, ingen brødtekst).

  • Interfaces specificerer, hvad en klasse skal gøre og ikke hvordan. Det er klassens plan.
  • En grænseflade handler om egenskaber, ligesom en spiller kan være en grænseflade, og enhver klasse, der implementerer, skal være i stand til (eller skal implementere) move(). Så det specificerer et sæt metoder, som klassen skal implementere.
  • Hvis en klasse implementerer en grænseflade og ikke leverer metodelegemer for alle funktioner specificeret i grænsefladen, skal klassen erklæres abstrakt.
  • Et eksempel på et Java-bibliotek er Komparatorgrænseflade . Hvis en klasse implementerer denne grænseflade, kan den bruges til at sortere en samling.

5. Array

An Array er en gruppe af variabler med samme type, der refereres til med et fælles navn. Arrays i Java fungerer anderledes, end de gør i C/C++. Det følgende er nogle vigtige punkter om Java-arrays.

  • I Java er alle arrays dynamisk allokeret. (diskuteret nedenfor)
  • Da arrays er objekter i Java, kan vi finde deres længde ved hjælp af medlemslængde. Dette er forskelligt fra C/C++, hvor vi finder længde ved hjælp af størrelse.
  • En Java-array-variabel kan også erklæres som andre variabler med [] efter datatypen.
  • Variablerne i arrayet er ordnet, og hver har et indeks, der begynder med 0.
  • Java-array kan også bruges som et statisk felt, en lokal variabel eller en metodeparameter.
  • Det størrelse af et array skal angives med en int-værdi og ikke lang eller kort.
  • Den direkte superklasse af en matrixtype er Object.
  • Hver array-type implementerer grænsefladerne Kan klones og java.io.Serialiserbar .

Ofte stillede spørgsmål om datatyper i Java

1. Hvad er datatyper i Java?

Datatyper er af forskellige størrelser og værdier, som kan gemmes i den variabel, der er lavet efter bekvemmelighed og omstændigheder for at dække over alle testtilfælde.

2. Hvad er de 8 datatyper, der bruges i Java?

Der er 8 primitive primære datatyper i java som nævnt nedenfor:

  • boolesk
  • byte
  • char
  • kort
  • int
  • lang
  • flyde
  • dobbelt

3. Hvilken er en primitiv type i Java?

Primitive datatyper er de typer i java, der kan gemme en enkelt værdi og ikke giver nogen speciel kapacitet.

4. Hvorfor bruger char 2 bytes i Java, og hvad er u0000?

Char bruger 2 bytes i java, fordi den bruger Unicode-systemet i stedet for ASCII-systemet. u000 er det laveste område i Unicode-systemet.

Tjek ud: Quiz om datatype i Java