logo

Java-datatyper

Java är statiskt skrivet och även ett starkt skrivet språk eftersom, i Java, varje typ av data (som heltal, tecken, hexadecimal, packad decimal, och så vidare) är fördefinierad som en del av programmeringsspråket och alla konstanter eller variabler som definieras för ett givet program måste beskrivas med någon av Java-datatyperna.

Datatyper i Java

Datatyper i Java är av olika storlekar och värden som kan lagras i variabeln som görs efter bekvämlighet och omständigheter för att täcka upp alla testfall. Java har två kategorier där datatyper är segregerade

  1. Primitiv datatyp: såsom boolean, char, int, short, byte, long, float och double
  2. Icke-primitiv datatyp eller objektdatatyp: som String, Array, etc.

Data-typer-Java



java delsträngsfunktion

Primitiva datatyper i Java

Primitiva data är bara enstaka värden och har inga speciella möjligheter. Det finns 8 primitiva datatyper. De är avbildade nedan i tabellformat nedan enligt följande:

Typ

Beskrivning

Standard

Storlek

Exempel på bokstaver

Värdeintervall

booleskt sant eller falskt falsk 1 bit sant falskt

sant falskt

byte tvåkomplement heltal 0 8 bitar (ingen)

-128 till 127

röding Unicode-tecken u0000 16 bitar 'a', 'u0041', '101', '', '', ' ', 'b'

teckenrepresentation av ASCII-värden

0 till 255

kort tvåkomplement heltal 0 16 bitar (ingen)

-32 768 till 32 767

int tvåor-komplement heltal 0 32 bitar -2,-1,0,1,2

-2 147 483 648

till

2,147,483,647

lång tvåkomplement heltal 0 64 bitar -2L,-1L,0L,1L,2L

-9,223,372,036,854,775,808

till

9,223,372,036,854,775,807

flyta IEEE 754 flyttal 0,0 32 bitar 1.23e100f , -1.23e-100f , .3f ,3.14F

upp till 7 decimalsiffror

dubbel IEEE 754 flyttal 0,0 64 bitar 1.23456e300d , -123456e-300d , 1e1d

upp till 16 decimaler

Låt oss diskutera och implementera var och en av följande datatyper som är följande:

1. Boolesk datatyp

Boolesk datatyp representerar bara en bit information antingen sant eller falskt som är avsett att representera de två sanningsvärdena för logik och boolesk algebra, men storleken på den booleska datatypen är virtuell maskinberoende . Värden av typen boolean konverteras inte implicit eller explicit (med casts) till någon annan typ. Men programmeraren kan enkelt skriva konverteringskod.

Syntax:

boolean booleanVar;>

Storlek: Virtuell maskin beroende

2. Byte datatyp

Bytedatatypen är ett 8-bitars signerat tvåkomplementheltal. Bytedatatypen är användbar för att spara minne i stora arrayer.

Syntax:

byte byteVar;>

Storlek: 1 byte (8 bitar)

lägga till i array java

3. Kort datatyp

Den korta datatypen är ett 16-bitars signerat tvåkomplement heltal. I likhet med byte, använd en kortslutning för att spara minne i stora arrayer, i situationer där minnesbesparingarna faktiskt spelar roll.

Syntax:

short shortVar;>

Storlek: 2 byte (16 bitar)

4. Heltalsdatatyp

Det är ett 32-bitars signerat tvåkomplement heltal.

Syntax:

int intVar;>

Storlek: 4 byte (32 bitar)

Kom ihåg: I Java SE 8 och senare kan vi använda datatypen int för att representera ett osignerat 32-bitars heltal, som har ett värde i intervallet [0, 232-1]. Använd klassen Integer för att använda datatypen int som ett heltal utan tecken.

5. Lång datatyp

Räckvidden för en lång är ganska stor. Den långa datatypen är ett 64-bitars tvåkomplement heltal och är användbart för de tillfällen där en int-typ inte är tillräckligt stor för att hålla det önskade värdet. Storleken på den långa datatypen är 8 byte (64 bitar).

Syntax:

long longVar;>

Kom ihåg: I Java SE 8 och senare kan du använda den långa datatypen för att representera en osignerad 64-bitars lång, som har ett lägsta värde på 0 och ett maxvärde på 264-1. Klassen Long innehåller också metoder som att jämföra Unsigned, dividera Unsigned, etc för att stödja aritmetiska operationer för unsigned long.

6. Flytande datatyp

Flytdatatypen är en 32-bitars IEEE 754 flyttal med enkel precision. Använd en flytande (istället för dubbel) om du behöver spara minne i stora arrayer av flyttal. Storleken på flytdatatypen är 4 byte (32 bitar).

Syntax:

float floatVar;>

7. Dubbel datatyp

Den dubbla datatypen är en 64-bitars IEEE 754 flyttal med dubbel precision. För decimalvärden är denna datatyp i allmänhet standardvalet. Storleken på den dubbla datatypen är 8 byte eller 64 bitar.

Syntax:

double doubleVar;>

Notera: Både flytande och dubbla datatyper designades speciellt för vetenskapliga beräkningar, där approximationsfel är acceptabla. Om noggrannhet är det viktigaste problemet, rekommenderas det att inte använda dessa datatyper och istället använda BigDecimal-klassen.

Det rekommenderas att gå igenom avrunda fel i java.

8. Char Data Type

Teckningsdatatypen är ett enda 16-bitars Unicode-tecken med storleken 2 byte (16 bitar).

Syntax:

char charVar;>

Varför är storleken på char 2 byte i Java?

Så andra språk som C/C++ använder bara ASCII-tecken, och för att representera alla ASCII-tecken räcker det med 8 bitar. Men Java använder Unicode-systemet inte ASCII-kodsystemet och för att representera Unicode-systemet räcker inte 8 bitar för att representera alla tecken så Java använder 2 byte för tecken. Unicode definierar en helt internationell teckenuppsättning som kan representera de flesta av världens skriftspråk. Det är en sammanslagning av dussintals teckenuppsättningar, som latin, grekiska, kyrilliska, katakana, arabiska och många fler.

Exempel:

Java


gimp rektangel rita



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

>

rensa npm-cache
>

Produktion

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

Icke-primitiv datatyp eller referensdatatyper

De Referensdatatyper kommer att innehålla en minnesadress med variabelvärden eftersom referenstyperna inte lagrar variabelvärdet direkt i minnet. De är strängar, objekt, arrayer, etc.

1. Strängar

Strängar definieras som en rad tecken. Skillnaden mellan en teckenarray och en sträng i Java är att strängen är utformad för att hålla en sekvens av tecken i en enda variabel medan en teckenmatris är en samling separata enheter av teckentyp. Till skillnad från C/C++ avslutas inte Java-strängar med ett nolltecken.

Syntax: Deklarerar en sträng

 = ;>

Exempel:

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

2. Klass

A klass är en användardefinierad ritning eller prototyp från vilken objekt skapas. Den representerar uppsättningen egenskaper eller metoder som är gemensamma för alla objekt av en typ. I allmänhet kan klassdeklarationer inkludera dessa komponenter, i ordning:

  1. Modifierare : En klass kan vara offentlig eller har standardåtkomst. Hänvisa till åtkomstspecifikationer för klasser eller gränssnitt i Java
  2. Klassnamn: Namnet ska börja med en initial bokstav (versal enligt konvention).
  3. Superklass (om någon): Namnet på klassens förälder (superklass), om någon, föregås av nyckelordet extends. En klass kan bara utöka (underklass) en förälder.
  4. Gränssnitt (om några): En kommaseparerad lista över gränssnitt implementerade av klassen, om någon, föregås av nyckelordet implements. En klass kan implementera mer än ett gränssnitt.
  5. Kropp: Klasskroppen är omgiven av hängslen, { }.

3. Objekt

En Objekt är en grundläggande enhet för objektorienterad programmering och representerar verkliga enheter. Ett typiskt Java-program skapar många objekt, som som du vet interagerar genom att anropa metoder. Ett objekt består av:

  1. stat : Det representeras av ett objekts attribut. Det återspeglar också egenskaperna hos ett objekt.
  2. Beteende : Det representeras av ett objekts metoder. Det återspeglar också ett objekts svar på andra objekt.
  3. Identitet : Det ger ett unikt namn till ett objekt och gör att ett objekt kan interagera med andra objekt.

4. Gränssnitt

Som en klass, en gränssnitt kan ha metoder och variabler, men metoderna som deklareras i ett gränssnitt är som standard abstrakta (endast metodsignatur, ingen text).

  • Gränssnitt anger vad en klass måste göra och inte hur. Det är klassens ritning.
  • Ett gränssnitt handlar om funktioner som en spelare kan vara ett gränssnitt och vilken klass som implementerar spelare måste kunna (eller implementera) move(). Så den specificerar en uppsättning metoder som klassen måste implementera.
  • Om en klass implementerar ett gränssnitt och inte tillhandahåller metodkroppar för alla funktioner som anges i gränssnittet, måste klassen förklaras abstrakt.
  • Ett exempel på ett Java-bibliotek är Jämförelsegränssnitt . Om en klass implementerar detta gränssnitt kan det användas för att sortera en samling.

5. Array

En Array är en grupp av liknande-typade variabler som hänvisas till med ett gemensamt namn. Arrayer i Java fungerar annorlunda än de gör i C/C++. Följande är några viktiga punkter om Java-arrayer.

  • I Java är alla arrayer dynamiskt allokerade. (diskuteras nedan)
  • Eftersom arrayer är objekt i Java kan vi hitta deras längd med hjälp av medlemslängd. Detta skiljer sig från C/C++ där vi hittar längd med hjälp av storlek.
  • En Java-arrayvariabel kan också deklareras som andra variabler med [] efter datatypen.
  • Variablerna i arrayen är ordnade och var och en har ett index som börjar med 0.
  • Java-array kan också användas som ett statiskt fält, en lokal variabel eller en metodparameter.
  • De storlek för en array måste anges med ett int-värde och inte lång eller kort.
  • Den direkta superklassen för en matristyp är Object.
  • Varje arraytyp implementerar gränssnitten Klonbar och java.io.Serialiserbar .

Vanliga frågor om datatyper i Java

1. Vad är datatyper i Java?

Datatyper är av olika storlekar och värden som kan lagras i variabeln som görs efter bekvämlighet och omständigheter för att täcka upp alla testfall.

2. Vilka är de 8 datatyperna som används i Java?

Det finns 8 huvudsakliga primitiva datatyper i java som nämns nedan:

  • booleskt
  • byte
  • röding
  • kort
  • int
  • lång
  • flyta
  • dubbel

3. Vilken är en primitiv typ i Java?

Primitiva datatyper är de typer i java som kan lagra ett enda värde och som inte ger någon speciell förmåga.

4. Varför använder char 2 byte i Java och vad är u0000?

Char använder 2 byte i java eftersom den använder Unicode-systemet snarare än ASCII-systemet. u000 är det lägsta intervallet i Unicode-systemet.

Kolla upp: Frågesport om datatyp i Java