|
|
Geplaatst op 07-04-2015 16:19:13
|
|
|

Datatypes zijn abstracte uitdrukkingen van geheugenlocaties. Programmeurs kunnen gebruikmaken van verschillende datatypes: sommige gedefinieerd door programmeertalen, sommige gedefinieerd door externe bibliotheken en andere gedefinieerd door programmeurs. Veel programmeertalen vertrouwen op specifieke computertypes en specifieke gecompileerde implementaties van datatype-eigenschappen, zoals de grootte van woord- en gehele datatypes. Aan de andere kant is Java's virtuele machine verantwoordelijk voor het definiëren van alle aspecten van de ingebouwde datatypes. Dit betekent dat, ongeacht hoe laag besturingssysteem de Java Virtual Machine (JVM) draait, de eigenschappen van de datatypes exact hetzelfde zijn.
Eenvoudige datatypen Eenvoudige datatypes zijn datatypes die niet langer vereenvoudigd kunnen worden, ingebouwde datatypes, gedefinieerd door programmeertalen, en die reële getallen, tekens en gehele getallen vertegenwoordigen. Grotere, complexere datatypen kunnen worden gedefinieerd door een combinatie van eenvoudige datatypen. In de meeste gevallen hebben eenvoudige datatypen hun hardware-equivalenten. Bijvoorbeeld, int simple types worden soms opgeslagen in 32-bits hardwareregisters. Java biedt verschillende klassen van eenvoudige datatypes die getallen en tekens voorstellen.
Eenvoudige datatypen worden doorgaans onderverdeeld in de volgende categorieën: reële getallen, gehele getallen, tekens en booleaanse cijfers. Deze categorieën omvatten op hun beurt een verscheidenheid aan eenvoudige types. Java definieert bijvoorbeeld twee eenvoudige typen: float en double, die tot de reële getallencategorie behoren, en de andere vier eenvoudige typen: byte, short, int en long behoren allemaal tot de integer-categorie. Er is ook een eenvoudig type, char, dat wordt toegeschreven aan het karaktertype. Er is maar één eenvoudig type booleaanse categorie: booleaan. Tabel A beschrijft de eenvoudige datatypes in Java.
Tabel A Java eenvoudige datatypes Eenvoudige lettergroottebereik/precisie float 4 bytes 32-bit IEEE 754 single-precision dubbele 8 bytes 64-bit IEEE 754 dubbele precisie Byte 1 byte -128 tot 127 - Short 2 bytes - 32.768 tot 32.767 int 4 bytes - 2.147.483.648 tot 2.147.483.647 Lange 8 bytes - 9.223.372.036.854.775.808 tot 9.223.372.036, 854.775.807 char 2 bytes van de volledige Unicode-tekenset boolean 1 bit Waar of onwaar
Eenvoudige datatypen in Java Alle numerieke variabelen in Java zijn ondertekend, en Java staat geen willekeurige conversie tussen datatypes toe. Alleen typeconversie is mogelijk tussen numerieke variabelen. Bijvoorbeeld, een booleaan kan niet worden omgezet naar andere datatypen, en andere datatypen kunnen niet worden omgezet naar booleaan.
Omdat de eenvoudige datatypes van Java nauwkeurig zijn gedefinieerd en directe geheugentoegang niet is toegestaan, wordt de sizeof-operator in de Java-taal verwijderd.
De eenvoudige datatypes van Java zijn geen objecten. Om een objectgeoriënteerde benadering van Java eenvoudige datatypes te hanteren, moet je ze eerst in klassen encapsuleren.
Pakket Java biedt ook ingebouwde encapsulatieklassen zoals Byte, Short, Boolean, Character, Integer, Double, Float en Long. Deze wrapper-cursussen bieden een zeer intuïtieve en praktische aanpak. Bijvoorbeeld, de Byte-, Float-, Integer-, Long- en Double-klassen hebben allemaal een doubleValue()-methode waarmee je waarden die in instanties van de klasse zijn opgeslagen kunt omzetten naar Double-types. Ook bieden alle ingekapselde klassen een statische valueOf(Strings)-methode om een gegeven String om te zetten naar het bijbehorende eenvoudige type. De code in Listing A toont een deel van het gebruik van deze encapsulatieklassen.
Eenvoudige initialisatie van datatypes In Java worden eenvoudige datatypen automatisch geïnitialiseerd als standaardinstellingen wanneer ze als lidvariabelen van een klasse worden gedeclareerd, tenzij expliciet gedeclareerd. Eenvoudige datatypes zijn methoden die lokale variabelen declareren die niet automatisch worden geïnitialiseerd en waardoor de compiler een foutmelding geeft zoals het volgende: "Variabele x is mogelijk niet geïnitialiseerd." Tabel B definieert de standaardwaarden voor eenvoudige datatypes in Java. Tabel B is standaard voor Java Simple Data Types type Verstek Booleans
false Byte
0 kort
0 int
0 Lang
0 Char ′/u0000′ Float
0.0 Dubbel
0.0
Standaardwaarden voor Java eenvoudige datatypes De code in Listing B toont aan dat alle eenvoudige Java datatypes lidvariabelen van de Initialization-klasse gebruiken. Dit voorbeeld laat ook zien dat een int-variabele lokaal wordt gedeclareerd in de constructor van de Initialisatieklasse. Zonder bovenstaande code te wijzigen, zal de compiler een foutmelding geven bij het compileren van bovenstaande code. Zodra de regel code die het probleem veroorzaakte (de code die verwijst naar een niet-geïnitialiseerde variabele die de fout veroorzaakt) wordt verwijderd of eruit wordt gecommenteerd. Nadat het programma succesvol is gecompileerd en uitgevoerd, worden de volgende resultaten weergegeven:
byte: 0
short: 0
int: 0
long: 0
float: 0.0
double: 0.0
char: 0
boolean: false We kunnen ook expliciet lidvariabelen initialiseren naar andere waarden, zoals getoond in de volgende code: byte b = 5; korte s = 123; int i = 1234; lang l = 12345; vlot f = 123,45°F; dubbele d = 12345,678; char c = ′A′; Booleaanse z = waar;
Samenvatting Java definieert een volledige set eenvoudige datatypes. Daarnaast verwijdert Java hardware- en compilerafhankelijkheden die de taal vormen, waardoor programmeurs hun aandacht kunnen afleiden naar andere problemen
|
Vorig:VERSCHILLEN EN CONNECTIES TUSSEN JDK, JRE, JVMVolgend:Photoshop draait, verwijder en installeer dit product alsjeblieft opnieuw, hoe los ik foutcode 16 op?
|