Java -gegevenstypen


Java-gegevenstypen

Zoals uitgelegd in het vorige hoofdstuk, moet een variabele in Java een gespecificeerd datatype zijn:

Voorbeeld

int myNum = 5;               // Integer (whole number)
float myFloatNum = 5.99f;    // Floating point number
char myLetter = 'D';         // Character
boolean myBool = true;       // Boolean
String myText = "Hello";     // String

Gegevenstypen zijn onderverdeeld in twee groepen:

  • Primitieve gegevenstypen - inclusief byte, short, int, long, float, double, booleanenchar
  • Niet-primitieve datatypes - zoals String , Arrays en Classes (u leert hier meer over in een later hoofdstuk)

Primitieve gegevenstypen

Een primitief gegevenstype specificeert de grootte en het type variabelewaarden en heeft geen aanvullende methoden.

Er zijn acht primitieve gegevenstypen in Java:

Data Type Size Description
byte 1 byte Stores whole numbers from -128 to 127
short 2 bytes Stores whole numbers from -32,768 to 32,767
int 4 bytes Stores whole numbers from -2,147,483,648 to 2,147,483,647
long 8 bytes Stores whole numbers from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
float 4 bytes Stores fractional numbers. Sufficient for storing 6 to 7 decimal digits
double 8 bytes Stores fractional numbers. Sufficient for storing 15 decimal digits
boolean 1 bit Stores true or false values
char 2 bytes Stores a single character/letter or ASCII values

Cijfers

Primitieve nummertypen zijn onderverdeeld in twee groepen:

Integer-typen slaat hele getallen op, positief of negatief (zoals 123 of -456), zonder decimalen. Geldige typen zijn byte, short, int en long. Welk type u moet gebruiken, hangt af van de numerieke waarde.

Typen met drijvende komma vertegenwoordigen getallen met een breukdeel, dat een of meer decimalen bevat. Er zijn twee soorten: floaten double.

Ook al zijn er veel numerieke typen in Java, de meest gebruikte voor getallen zijn int(voor gehele getallen) en double(voor drijvende-kommagetallen). We zullen ze echter allemaal beschrijven terwijl u verder leest.



Gehele typen

Byte

Het bytegegevenstype kan gehele getallen van -128 tot 127 opslaan. Dit kan worden gebruikt in plaats van intof andere typen gehele getallen om geheugen te besparen als u zeker weet dat de waarde tussen -128 en 127 zal liggen:

Voorbeeld

byte myNum = 100;
System.out.println(myNum);

Kort

Het shortgegevenstype kan hele getallen van -32768 tot 32767 opslaan:

Voorbeeld

short myNum = 5000;
System.out.println(myNum);

Int

Het intgegevenstype kan gehele getallen opslaan van -2147483648 tot 2147483647. Over het algemeen, en in onze tutorial, intis het gegevenstype het voorkeursgegevenstype wanneer we variabelen met een numerieke waarde maken.

Voorbeeld

int myNum = 100000;
System.out.println(myNum);

Lang

Het longgegevenstype kan hele getallen opslaan van -9223372036854775808 tot 9223372036854775807. Dit wordt gebruikt wanneer int niet groot genoeg is om de waarde op te slaan. Merk op dat u de waarde moet eindigen met een "L":

Voorbeeld

long myNum = 15000000000L;
System.out.println(myNum);


Typen met drijvende komma

U moet een zwevend-kommatype gebruiken wanneer u een getal met een decimaalteken nodig hebt, zoals 9,99 of 3,14515.

Vlot

Het floatgegevenstype kan gebroken getallen opslaan van 3.4e−038 tot 3.4e+038. Merk op dat u de waarde moet eindigen met een "f":

Voorbeeld

float myNum = 5.75f;
System.out.println(myNum);

Dubbele

Het doublegegevenstype kan fractionele getallen opslaan van 1.7e−308 tot 1.7e+308. Merk op dat u de waarde moet eindigen met een "d":

Voorbeeld

double myNum = 19.99d;
System.out.println(myNum);

Gebruik floatof double?

De precisie van een drijvende-kommawaarde geeft aan hoeveel cijfers de waarde achter de komma mag hebben. De nauwkeurigheid van floatis slechts zes of zeven cijfers achter de komma, terwijl doublevariabelen een nauwkeurigheid hebben van ongeveer 15 cijfers. Daarom is het veiliger om doublevoor de meeste berekeningen te gebruiken.

Wetenschappelijke cijfers

Een getal met drijvende komma kan ook een wetenschappelijk getal zijn met een "e" om de macht van 10 aan te geven:

Voorbeeld

float f1 = 35e3f;
double d1 = 12E4d;
System.out.println(f1);
System.out.println(d1);


Booleans

Een booleaans gegevenstype wordt gedeclareerd met het booleansleutelwoord en kan alleen de waarden trueof aannemen false:

Voorbeeld

boolean isJavaFun = true;
boolean isFishTasty = false;
System.out.println(isJavaFun);     // Outputs true
System.out.println(isFishTasty);   // Outputs false

Booleaanse waarden worden meestal gebruikt voor voorwaardelijke tests, waarover u in een later hoofdstuk meer zult leren.


karakters

Het chargegevenstype wordt gebruikt om één teken op te slaan. Het teken moet tussen enkele aanhalingstekens staan, zoals 'A' of 'c':

Voorbeeld

char myGrade = 'B';
System.out.println(myGrade);

Als alternatief kunt u ASCII-waarden gebruiken om bepaalde tekens weer te geven:

Voorbeeld

char myVar1 = 65, myVar2 = 66, myVar3 = 67;
System.out.println(myVar1);
System.out.println(myVar2);
System.out.println(myVar3);

Tip: een lijst met alle ASCII-waarden vindt u in onze ASCII-tabelreferentie .


Snaren

Het Stringdatatype wordt gebruikt om een ​​reeks tekens (tekst) op te slaan. Stringwaarden moeten tussen dubbele aanhalingstekens staan:

Voorbeeld

String greeting = "Hello World";
System.out.println(greeting);

Het String-type wordt zo vaak gebruikt en geïntegreerd in Java, dat sommigen het "het speciale negende type" noemen.

Een string in Java is eigenlijk een niet-primitief gegevenstype, omdat het verwijst naar een object. Het String-object heeft methoden die worden gebruikt om bepaalde bewerkingen op tekenreeksen uit te voeren. Maak je geen zorgen als je de term "object" nog niet begrijpt . In een later hoofdstuk zullen we meer leren over strings en objecten.


Niet-primitieve gegevenstypen

Niet-primitieve gegevenstypen worden referentietypen genoemd omdat ze verwijzen naar objecten.

Het belangrijkste verschil tussen primitieve en niet-primitieve gegevenstypen zijn:

  • Primitieve typen zijn vooraf gedefinieerd (reeds gedefinieerd) in Java. Niet-primitieve typen worden gemaakt door de programmeur en worden niet gedefinieerd door Java (behalve voor String).
  • Niet-primitieve typen kunnen worden gebruikt om methoden aan te roepen om bepaalde bewerkingen uit te voeren, terwijl primitieve typen dat niet kunnen.
  • Een primitief type heeft altijd een waarde, terwijl niet-primitieve typen null.
  • Een primitief type begint met een kleine letter, terwijl niet-primitieve typen met een hoofdletter beginnen.
  • De grootte van een primitief type hangt af van het gegevenstype, terwijl niet-primitieve typen allemaal dezelfde grootte hebben.

Voorbeelden van niet-primitieve typen zijn Strings , Arrays , Classes, Interface , etc. Hierover zult u in een later hoofdstuk meer te weten komen.


Test jezelf met oefeningen

Oefening:

Voeg het juiste gegevenstype toe voor de volgende variabelen:

 myNum = 9;
 myFloatNum = 8.99f;
 myLetter = 'A';
 myBool = false;
 myText = "Hello World";