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
,boolean
enchar
- 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: float
en 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 byte
gegevenstype kan gehele getallen van -128 tot 127 opslaan. Dit kan worden gebruikt in plaats van int
of 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 short
gegevenstype kan hele getallen van -32768 tot 32767 opslaan:
Voorbeeld
short myNum = 5000;
System.out.println(myNum);
Int
Het int
gegevenstype kan gehele getallen opslaan van -2147483648 tot 2147483647. Over het algemeen, en in onze tutorial, int
is het gegevenstype het voorkeursgegevenstype wanneer we variabelen met een numerieke waarde maken.
Voorbeeld
int myNum = 100000;
System.out.println(myNum);
Lang
Het long
gegevenstype 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 float
gegevenstype 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 double
gegevenstype 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 float
of double
?
De precisie van een drijvende-kommawaarde geeft aan hoeveel cijfers de waarde achter de komma mag hebben. De nauwkeurigheid van float
is slechts zes of zeven cijfers achter de komma, terwijl double
variabelen een nauwkeurigheid hebben van ongeveer 15 cijfers. Daarom is het veiliger om double
voor 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 boolean
sleutelwoord en kan alleen de waarden true
of 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 char
gegevenstype 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 String
datatype 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.