|
|
Publicerad på 2015-04-07 16:19:13
|
|
|

Datatyper är abstrakta uttryck för minnesplatser. Programmerare kan utnyttja en mängd olika datatyper: vissa definierade av programmeringsspråk, vissa definierade av externa bibliotek och andra definierade av programmerare. Många programmeringsspråk förlitar sig på specifika datortyper och specifika kompilerade implementationer av datatypsegenskaper, såsom storleken på ord- och heltalsdatatyper. Å andra sidan ansvarar Javas virtuella maskin för att definiera alla aspekter av sina inbyggda datatyper. Detta innebär att oavsett hur lågnivåoperativsystem Java Virtual Machine (JVM) körs, är egenskaperna hos datatyperna exakt desamma.
Enkla datatyper Enkla datatyper är datatyper som inte längre kan förenklas, inbyggda datatyper, definierade av programmeringsspråk och representerar reella tal, tecken och heltal. Större, mer komplexa datatyper kan definieras genom en kombination av enkla datatyper. I de flesta fall har enkla datatyper sina hårdvarumotsvarigheter. Till exempel lagras ibland int-enkla typer i 32-bitars hårdvaruregister. Java tillhandahåller flera klasser av enkla datatyper som representerar siffror och tecken.
Enkla datatyper delas vanligtvis in i följande kategorier: reella tal, heltal, tecken och booleans. Dessa kategorier inkluderar i sin tur en mängd enkla typer. Till exempel definierar Java två enkla typer: flyttal och dubbel, som tillhör kategorin reella tal, och de andra fyra enkla typerna: byte, short, int och long tillhör alla heltalskategorin. Det finns också en enkel typ, char, som tillskrivs karaktärstypen. Det finns bara en enkel typ av boolesk kategori: boolesk. Tabell A beskriver de enkla datatyperna i Java.
Tabell A Java enkla datatyper Enkelt typstorleksintervall/precision float 4 byte 32-bitars IEEE 754 enkelprecision dubbel 8 byte 64-bitars IEEE 754 dubbel precision Byte 1 byte -128 till 127 - Kort 2 byte - 32 768 till 32 767 int 4 bytes - 2 147 483 648 till 2 147 483 647 Lång 8 bytes - 9 223 372 036 854 775 808 till 9 223 372 036, 854 775 807 char 2 byte av hela Unicode-teckenuppsättningen boolsk 1-bitars Sant eller falskt
Enkla datatyper i Java Alla numeriska variabler i Java är signerade, och Java tillåter inte godtycklig konvertering mellan datatyper. Endast typkonvertering är möjlig mellan numeriska variabler. Till exempel kan en boolean inte konverteras till andra datatyper, och andra datatyper kan inte konverteras till boolesk.
Eftersom Javas enkla datatyper är noggrant definierade och direkt minnesåtkomst inte är tillåten, tas operatorn sizeof bort i Java-språket.
Javas enkla datatyper är inte objekt. För att ta ett objektorienterat angreppssätt på Java enkla datatyper behöver du först kapsla in dem i klasser.
Paket Java tillhandahåller också inbyggda kapslingsklasser såsom Byte, Short, Boolean, Character, Integer, Double, Float och Long. Dessa wrapper-klasser erbjuder en mycket intuitiv och praktisk metod. Till exempel har Byte-, Float-, Integer-, Long- och Double-klasserna alla en doubleValue()-metod som låter dig konvertera värden som lagras i instanser av klassen till Double-typer. Dessutom tillhandahåller alla inkapslade klasser en statisk valueOf(Strings)-metod för att konvertera en given sträng till dess motsvarande enkla typ. Koden i Listing A visar en del av användningen av dessa inkapslingsklasser.
Enkel initialisering av datatyper I Java initieras enkla datatyper automatiskt som standardfunktioner när de deklareras som medlemsvariabler i en klass, om det inte uttryckligen deklareras. Enkla datatyper är metoder som deklarerar lokala variabler som inte automatiskt initieras och får kompilatorn att kasta ett felmeddelande som följande: "Variabel x kan ha inte initialiserats." Tabell B definierar standardvärdena för enkla datatyper i Java. Tabell B är standard för Java Simple Data Types typ Standard Booleskt
false Byte
0 Kort
0 int
0 Långt
0 Char ′/u0000′ Flott
0.0 dubbel
0.0
Standardstandardvärden för Java enkla datatyper Koden i Listing B visar att alla enkla datatyper i Java använder medlemsvariabler i Initialization-klassen. Detta exempel visar också att en int-variabel deklareras lokalt i konstruktorn för Initialization-klassen. Utan att ändra ovanstående kod kommer kompilatorn att ge ett fel när koden kompileras. När kodraden som orsakade problemet (koden som refererar till en oinitierad variabel som orsakar felet) tas bort eller kommenteras. Efter att programmet har kompilerats och körts visas följande resultat:
byte: 0
short: 0
int: 0
long: 0
float: 0.0
double: 0.0
char: 0
boolean: false Vi kan också explicit initialisera medlemsvariabler till andra värden, som visas i följande kod: byte b = 5; kort s = 123; int i = 1234; lång l = 12345; flottör f = 123,45°F; dubbel d = 12345,678; char c = ′A′; boolsk z = sann;
Sammanfattning Java definierar en fullständig uppsättning enkla datatyper. Dessutom tar Java bort hårdvaru- och kompilatorberoenden som blir språket, vilket gör det möjligt för programmerare att rikta sin uppmärksamhet mot andra problem
|
Föregående:SKILLNADER OCH KOPPLINGAR MELLAN JDK, JRE OCH JVMNästa:Photoshop körs, vänligen avinstallera och installera om denna produkt, hur löser man felkod 16?
|