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
- Primitiv datatype: slik som boolean, char, int, short, byte, long, float og double
- Ikke-primitiv datatype eller objektdatatype: som String, Array, etc.

: 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:
- Modifikatorer : En klasse kan være offentlig eller har standardtilgang. Referere til tilgangspesifikasjoner for klasser eller grensesnitt i Java
- Klassenavn: Navnet skal begynne med en forbokstav (store bokstaver etter konvensjon).
- Superklasse (hvis noen): Navnet på klassens overordnede (superklasse), hvis noen, etter nøkkelordet utvides. En klasse kan bare utvide (underklasse) én forelder.
- 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.
- 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:
- Stat : Det er representert av attributtene til et objekt. Det gjenspeiler også egenskapene til et objekt.
- Oppførsel : Det er representert ved metodene til et objekt. Det reflekterer også responsen til et objekt på andre objekter.
- 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