|
|
Opslået på 07/04/2015 16.19.13
|
|
|

Datatyper er abstrakte udtryk for hukommelsesplaceringer. Programmører kan udnytte en række forskellige datatyper: nogle defineret af programmeringssprog, nogle defineret af eksterne biblioteker og andre defineret af programmører. Mange programmeringssprog er afhængige af specifikke computertyper og specifikke kompilerede implementeringer af datatypeegenskaber, såsom størrelsen på ord og heltalsdatatyper. På den anden side er Javas virtuelle maskine ansvarlig for at definere alle aspekter af sine indbyggede datatyper. Det betyder, at uanset hvor lavniveau-operativsystem Java Virtual Machine (JVM) kører, er egenskaberne for datatyperne nøjagtigt de samme.
Simple datatyper Simple datatyper er datatyper, der ikke længere kan forenkles, indbyggede datatyper, defineret af programmeringssprog, og repræsenterer reelle tal, tegn og heltal. Større, mere komplekse datatyper kan defineres ved en kombination af simple datatyper. I de fleste tilfælde har simple datatyper deres hardware-ækvivalenter. For eksempel gemmes int simple typer nogle gange i 32-bit hardwareregistre. Java tilbyder flere klasser af simple datatyper, der repræsenterer tal og tegn.
Simple datatyper opdeles typisk i følgende kategorier: reelle tal, heltal, tegn og booleans. Disse kategorier omfatter igen en række simple typer. For eksempel definerer Java to simple typer: float og double, som tilhører den reelle talkategori, og de andre fire simple typer: byte, short, int og long, hører alle til heltalskategorien. Der findes også en simpel type, char, som tilskrives karaktertypen. Der findes kun én simpel type boolesk kategori: boolesk. Tabel A beskriver de simple datatyper i Java.
Tabel A Java simple datatyper Simpel typestørrelsesområde/præcision float 4 bytes 32-bit IEEE 754 single-precision dobbelt 8 bytes 64-bit IEEE 754 dobbelt præcision Byte 1 byte -128 til 127 - Korte 2 bytes - 32.768 til 32.767 int 4 bytes - 2.147.483.648 til 2.147.483.647 Lang 8 bytes - 9.223.372.036.854.775.808 til 9.223.372.036, 854.775.807 char 2 bytes af hele Unicode-tegnsættet boolean 1 bit Sandt eller falsk
Simple datatyper i Java Alle numeriske variable i Java er signeret, og Java tillader ikke vilkårlig konvertering mellem datatyper. Kun typekonvertering er mulig mellem numeriske variable. For eksempel kan en boolean ikke konverteres til andre datatyper, og andre datatyper kan ikke konverteres til boolesk.
Fordi Javas simple datatyper er nøjagtigt definerede, og direkte hukommelsesadgang ikke er tilladt, fjernes sizeof-operatoren i Java-sproget.
Javas simple datatyper er ikke objekter. For at kunne tage en objektorienteret tilgang til Java simple datatyper, skal du først indkapsle dem i klasser.
Pakke Java tilbyder også indbyggede indkapslingsklasser såsom Byte, Short, Boolean, Character, Integer, Double, Float og Long. Disse wrapper-klasser giver en meget intuitiv og praktisk tilgang. For eksempel har Byte-, Float-, Integer-, Long- og Double-klasserne alle en doubleValue()-metode, der tillader dig at konvertere værdier, der er gemt i instanser af klassen, til Double-typer. Desuden tilbyder alle indkapslede klasser en statisk valueOf(Strings)-metode til at konvertere en given streng til dens tilsvarende simple type. Koden i Listing A demonstrerer noget af brugen af disse indkapslingsklasser.
Simpel datatype-initialisering I Java initialiseres simple datatyper automatisk som standard, når de erklæres som medlemsvariabler i en klasse, medmindre det eksplicit er deklareret. Simple datatyper er metoder, der erklærer lokale variable, som ikke automatisk initialiseres, og får kompilatoren til at sende en fejlmeddelelse som følgende: "Variabel x kan være blevet initialiseret." Tabel B definerer standardværdierne for simple datatyper i Java. Tabel B er standard for Java simple datatyper slags Standard Boolesk
false Byte
0 kort
0 int
0 Lang
0 Char ′/u0000′ Flyder
0.0 Dobbelt
0.0
Standardstandardværdier for Java simple datatyper Koden i Listing B viser, at alle Java simple datatyper bruger medlemsvariabler i Initialization-klassen. Dette eksempel viser også, at en int-variabel deklareres lokalt i konstruktøren af initialiseringsklassen. Uden at ændre ovenstående kode vil compileren give en fejl ved kompilering af ovenstående kode. Når den kodelinje, der forårsagede problemet (koden, der refererer til en uinitialiseret variabel, der forårsager fejlen), slettes eller kommenteres ud. Når programmet er kompileret og udfø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å eksplicit initialisere medlemsvariabler til andre værdier, som vist i følgende kode: byte b = 5; short s = 123; int i = 1234; lang l = 12345; float f = 123,45f; dobbelt d = 12345,678; char c = ′A′; Boolesk z = sand;
Resumé Java definerer et komplet sæt af simple datatyper. Derudover fjerner Java hardware- og compilerafhængigheder, der bliver til sproget, hvilket gør det muligt for programmører at rette opmærksomheden mod andre problemer
|
Tidligere:FORSKELLE OG FORBINDELSER I JDK, JRE, JVMNæste:Photoshop kører, venligst afinstaller og geninstaller dette produkt, hvordan løser man fejlkode 16?
|