Det finnes 8 primitive datatyper i Java, som alle har en fast størrelse og et definert verdifelt. De brukes til å opprette variabler og tildele dem individuelle tall, tegn eller logiske verdier. De 8 primitive datatypene i Java er boolean, byte, char, double, float, int, long og short.

Hva er Java-primitiver?

Som andre programmeringsspråk har Java ulike datatyper. I Java faller disse inn i to kategorier. Den første er referansetyper, som refererer til et objekt som kan defineres fritt, som strenger, matriser, klasser og grensesnitt. Deretter er det Java-primitiver. De har en fast størrelse som er den samme på tvers av plattformer. De har også sin egen wrapper-klasse, er uforanderlige og har et fast verdispekter. Java-primitiver brukes til å lage variabler for individuelle tall, tegn eller logiske verdier.

I Java finnes det 8 forskjellige primitive datatyper som først og fremst skiller seg fra hverandre med hensyn til hvilke verdier de lagrer. Det de alle har til felles, er at de kun kan inneholde én enkelt verdi. Siden noen av dem brukes i lignende situasjoner, kan vi dele Java-primitivene videre inn i fire kategorier:

  • Logisk datatype (boolean)
  • Integrert datatype (byte, short, int og long)
  • Flytende desimaltall (float og double)
  • Tegn datatype (char)

Siden de lagres direkte i stakken, er størrelsen deres spesielt viktig. Vi kommer tilbake til dette senere i denne veiledningen. Java-primitiver er også viktige fordi Java er et statisk typet språk. Når du lager et program, må du derfor allerede definere hvilken datatype en variabel er, ellers vil du få feilmeldinger. Her er en oversikt over Java-primitiver:

Datatype Størrelse Verdifelt Standardverdi Wrapper-klasse
boolean 1 bit sant eller usant falsk java.lang.Boolean
byte 8 bits -128 til 127 0 java.lang.Byte
kort 16 bits -32768 til 32767 0 java.lang.Short
int 32 bits -2147483648 til 2147483647 0 java.lang.Integer
lang 64 bits -9223372036854775808 til 9223372036854775807 0 java.lang.Long
float 32 opptil 7 desimaler 0,0 java.lang.Float
dobbel 64 bits opptil 16 desimaler 0,0 java.lang.Double
char 16 bits **’\u0000’ (dvs. 0) til ‘\uffff’ (tilsvarer 65535) ‘\u0000’ java.lang.Character

Hvordan bruke Java-primitivet boolean

En Java Boolean er også kjent som en sannhetsverdi. Det er den enkleste Java-primitivtypen, da den bare har to mulige verdier: «true» eller «false». Den brukes når det er behov for en logisk operand, og er den eneste logiske datatypen. I uttrykk står de to mulige verdiene vanligvis for en betingelse som enten er oppfylt (true) eller ikke (false). Hvis du ikke tilordner en verdi til en Boolean, vil den ha standardverdien false. Boolean kan kombineres med Boolean-operatorer i Java som AND og OR. Tilordning av en verdi til en Boolean ser slik ut:

public class Main {
	public static void main(String[] args) {
		boolean x = true;
		System.out.println(x);
	}
}
java

Hvis du bruker Java-kommandoen System.out.prinln til å initialisere en utdata, vil utdataene se slik ut:

true
java

byte

byte er den minste datatypen blant heltallstypene. Den har et svært begrenset verdifelt, nemlig fra -128 til 127. Men den bruker bare 8 bit minne. Faktisk har den fått navnet sitt fra det faktum at 8 bit utgjør én byte. Hvis du bare arbeider med et svært begrenset verdifelt, kan du deklarere en byte slik:

public class Main {
	public static void main(String[] args) {
		byte x = 101;
		System.out.println(x);
	}
}
java

Resultatet ser slik ut:

101
java

kort

short er dobbelt så stort som byte, noe som betyr at det også er en av de mindre brukte Java-primitivene. Men hvis byte er for lite og int er for stort, kan short være den heltallstypen du leter etter. Slik deklarerer du den:

public class Main {
	public static void main(String[] args) {
		short x = -27412;
		System.out.println(x);
	}
}
java

Resultatet ser slik ut:

-27412
java

int

int er den mest brukte av heltallstypene. Den har et svært stort verdifelt og sparer likevel plass. int er en toers komplementverdi og brukes også ofte til andre formål. Slik bruker du den:

public class Main {
	public static void main(String[] args) {
		int x = 14;
		int y = 3;
		int z = x + y;
		System.out.println(x + " + " + y + " = " + z);
	}
}
java

Resultatet ser slik ut:

14 + 3 = 17
java

lang

long er en utvidelse av int og kan inneholde enda lengre tall. int vil være tilstrekkelig i de fleste tilfeller, men hvis du ønsker å deklarere long, kan du gjøre det på følgende måte:

public class Main {
	public static void main(String[] args) {
		long x = 47;
		System.out.println(x);
	}
}
java

Her er resultatet:

47
java

flyte

Det finnes to Java-primitiver for å representere delmengder av rasjonelle tall. float er den minste av de to flytende datatypene og bruker 32 bit. Den kan vise opptil 7 desimaler. Den er imidlertid ikke særlig presis og brukes derfor ikke så ofte. Hvis du bestemmer deg for å bruke den, kan du deklarere den som følger:

public class Main {
	public static void main(String[] args) {
		float x = 7.22f;
		System.out.println(x);
	}
}
java

Merk at du må sette inn en liten eller stor bokstav «f» etter tallet for å fortelle datamaskinen at det er et flytende tall og ikke et dobbelt tall. F-en vises ikke i utdataene:

7.22
java

dobbel

Den andre flytende datatypen er double. Den er betydelig mer presis enn float, men gir likevel ikke helt eksakte resultater. Hvis du leter etter et alternativ, kan du bruke klassen BigDecimal. Hvis double passer til dine formål, kan du deklarere den slik:

public class Main {
	public static void main(String[] args) {
		double x = 7.2252;
		System.out.println(x);
	}
}
java

Merk at det ikke er noen ekstra bokstav her. Utdataene ser slik ut:

7.2252
java

karakter

char brukes til å representere Unicode-tegn. Det går fra ‘\u0000’ til ‘\uffff’, altså fra 0 til 65535. Datatypen character kan representere nesten alle europeiske og asiatiske tegn. Den bruker 16 bit minne. Verdiene til denne Java-primitivtypen angis i enkelt anførselstegn. Slik ser det ut i koden:

public class Main {
	public static void main(String[] args) {
		char x = '&';
		System.out.println(x);
	}
}
java

Resultatet ser slik ut:

&
java
Go to Main Menu