|
|
Publisert på 07.04.2015 16:19:13
|
|
|

Datatyper er abstrakte uttrykk for minneplasseringer. Programmerere kan utnytte en rekke datatyper: noen definert av programmeringsspråk, noen definert av eksterne biblioteker, og andre definert av programmerere. Mange programmeringsspråk er avhengige av spesifikke datatyper og spesifikke kompilerte implementasjoner av datatypeegenskaper, som størrelsen på ord og heltallsdatatyper. På den annen side er Javas virtuelle maskin ansvarlig for å definere alle aspekter av sine innebygde datatyper. Dette betyr at uansett hvor lavnivåoperativsystem Java Virtual Machine (JVM) kjører, er egenskapene til datatypene nøyaktig de samme.
Enkle datatyper Enkle datatyper er datatyper som ikke lenger kan forenkles, innebygde datatyper, definert av programmeringsspråk, og representerer reelle tall, tegn og heltall. Større, mer komplekse datatyper kan defineres ved en kombinasjon av enkle datatyper. I de fleste tilfeller har enkle datatyper sine maskinvareekvivalenter. For eksempel lagres int simple typer noen ganger i 32-bits maskinvareregistre. Java tilbyr flere klasser av enkle datatyper som representerer tall og tegn.
Enkle datatyper deles vanligvis inn i følgende kategorier: reelle tall, heltall, tegn og boolske. Disse kategoriene inkluderer igjen en rekke enkle typer. For eksempel definerer Java to enkle typer: flyt og dobbel, som tilhører den reelle tallkategorien, og de andre fire enkle typene: byte, short, int og long tilhører alle heltallskategorien. Det finnes også en enkel type, char, som tilskrives karaktertypen. Det finnes bare én enkel type boolsk kategori: boolsk. Tabell A beskriver de enkle datatypene i Java.
Tabell A: Java, enkle datatyper Enkelt typestørrelsesområde/presisjon float 4 bytes 32-bits IEEE 754 enkeltpresisjon dobbel 8 byte 64-bits IEEE 754 dobbel presisjon Byte 1 byte -128 til 127 - Short 2 bytes - 32 768 til 32 767 int 4 bytes - 2 147 483 648 til 2 147 483 647 Long 8 bytes - 9 223 372 036 854 775 808 til 9 223 372 036, 854 775 807 char 2 byte av hele Unicode-tegnsettet boolsk 1-bits Sant eller falskt
Enkle datatyper i Java Alle numeriske variabler i Java er signert, og Java tillater ikke vilkårlig konvertering mellom datatyper. Kun typekonvertering er mulig mellom numeriske variabler. For eksempel kan ikke en boolsk kan konverteres til andre datatyper, og andre datatyper kan ikke konverteres til boolsk.
Fordi Javas enkle datatyper er nøyaktig definerte og direkte minnetilgang ikke er tillatt, fjernes sizeof-operatoren i Java-språket.
Java sine enkle datatyper er ikke objekter. For å ta en objektorientert tilnærming til Java enkle datatyper, må du først kapsle dem inn i klasser.
Pakke Java tilbyr også innebygde innkapslingsklasser som Byte, Short, Boolean, Character, Integer, Double, Float og Long. Disse wrapper-kursene gir en veldig intuitiv og praktisk tilnærming. For eksempel har Byte-, Float-, Integer-, Long- og Double-klassene alle en doubleValue()-metode som lar deg konvertere verdier lagret i instanser av klassen til Double-typer. I tillegg gir alle innkapslede klasser en statisk valueOf(Strings)-metode for å konvertere en gitt streng til dens tilsvarende enkle type. Koden i Listing A demonstrerer noe av bruken av disse innkapslingsklassene.
Enkel initialisering av datatyper I Java initialiseres enkle datatyper automatisk som standard når de deklareres som medlemsvariabler i en klasse, med mindre det er eksplisitt deklarert. Enkle datatyper er metoder som erklærer lokale variabler som ikke automatisk initialiseres, og får kompilatoren til å sende en feilmelding som følgende: "Variabel x kan ha blitt initialisert." Tabell B definerer standardverdiene for enkle datatyper i Java. Tabell B er standard for Java Simple Data Types type Standard Boolesk
false Byte
0 Kort
0 Int
0 Lang
0 Char ′/u0000′ Flyt
0.0 Dobbel
0.0
Standard standardverdier for Java enkle datatyper Koden i Listing B viser at alle enkle datatyper i Java bruker medlemsvariabler i Initialization-klassen. Dette eksempelet viser også at en int-variabel deklareres lokalt i konstruktøren til initialiseringsklassen. Uten å endre koden ovenfor, vil kompilatoren gi en feil når den kompilerer koden ovenfor. Når kodelinjen som forårsaket problemet (koden som refererer til en uinitialisert variabel som forårsaker feilen) er slettet eller kommentert bort. Etter at programmet er vellykket kompilert og kjørt, vises følgende resultater:
byte: 0
short: 0
int: 0
long: 0
float: 0.0
double: 0.0
char: 0
boolean: false Vi kan også eksplisitt initialisere medlemsvariabler til andre verdier, som vist i følgende kode: byte b = 5; kort s = 123; int i = 1234; lang l = 12345; float f = 123,45°F; dobbel d = 12345,678; tegn c = ′A′; Boolesk z = sann;
Sammendrag Java definerer et komplett sett med enkle datatyper. I tillegg fjerner Java maskinvare- og kompilatoravhengigheter som blir språket, noe som gjør det mulig for programmerere å rette oppmerksomheten mot andre problemer
|
Foregående:JDK, JRE, JVM forskjeller og forbindelserNeste:Photoshop kjører, vennligst avinstaller og installer dette produktet på nytt, hvordan løser jeg feilkode 16?
|