Java:Datatyper
Fra CodeWiki
Java har to hovedgrupper med datatyper: primitive datatyper, og klasser.
| Datatype | bytes | Rekkevidde (inklusiv) |
|---|---|---|
| Byte | 8 | -127 til 127 |
| Short | 16 | -32,768 til 32,767 |
| Int | 32 | -2,147,483,648 til 2,147,483,647 |
| Long | 64 | -9,223,372,036,854,775,808 til 9,223,372,036,854,775,807 |
| Float | 32 | 2-149 til (2-2-23)·2127 |
| Double | 64 | 2-1074 til (2-2-52)·21023 |
| Boolean | Udefinert | True/False |
| Char | 8 | 0 til 65,535 |
Innhold |
Primitive datatyper
Primitive datatyper er kun verdier, og ikke objekter. Dette er noe som henger igjen fra språk som C++. Noen objektorienterte programmeringsspråk har kvittet seg helt med primitive datatyper, f.eks. Ruby og Smalltalk. Følgende primitive datatyper er oftest brukt:
- int
- Et 32-bit heltall (tall uten desimaler). Verdier i mengden {-2,147,483,648 ... 2,147,483,647} (inklusiv). Denne datatypen rommer de fleste tall man har bruk for, men dersom man trenger større tall kan man bruke en long, som er 64 bit.
- float
- Et 32-bit flyttall (tall med desimaler). Det finnes også 64-bit variant, double.
- boolean
- En boolsk variabel. Denne datatypen har kun to mulige verdier: true og false.
- char
- Et 16-bit Unicode-tegn. Brukt for å lagre en enkelt bokstav. Ofte dropper man denne til fordel for en String med lengde 1.
Standardverdier
De forskjellige datatypene har også standardverdier. Dersom du lager en ny int:int foo;Literals
NB: Mangler bedre norsk ord for literal.
Literals er en måte du kan skrive en verdi for en variabel i kildekoden. Når det gjelder tall, er noen skrivemåter veldig naturlig for oss:
int decVal = 26; // Tallet 26, slik vi pleier å skrive det. int octVal = 032; // Tallet 26, i det oktale tallsystemet. int hexVal = 0x1a; // Tallet 26, i det hexadesimale tallsystemet. double d1 = 123.4; double d2 = 1.234e2; // Samme som over, men med vitenskaplig notasjon.
For bokstaver bruker vi enkle siteringstegn (single quotes):
char b = 'b'; char hjerte = '\u2764'; // Bruk av et Unicode code point. char linjeskift = '\n'; // Escape-sekvens for å få newline-tegnet.
Literals for boolske variabler er som man skulle forvente:
boolean konfigurert = false; konfigurert = true;
Klasser
Klasser definert av Java (og av deg selv) utgjør også datatyper. Dette er mer komplekse datatyper som du lager selv. Typiske klasser som er vanlig å bruke som parametere til metoder og returverdier er for mange å liste opp her, men String er en av dem.
Standardverdier
Standardverdien til en variabel som skal kunne holde et objekt av en gitt klasse er null. Denne verdien er spesiell, da den kan angis for alle typer (bortsett fra primitive datatyper), og ikke inneholder noen spesielle metoder. Den er ment å representere mangel på verdi. Med andre ord, dersom vi skriver:
String tekst;... vil variabelen tekst inneholde verdien null.
Literals
Det er ikke mange literals å snakke om for klasser. Siden String er så mye brukt som den er, har den fått en enkel måte å instansieres på, gjennom en "string literal". Det skrives med doble siteringstegn (double quotes):
tekst = "Hei på deg!";Utenom det er det bare null som kan brukes, ved siden av å benytte en constructor da.
Eksterne lenker
Les mer om primitive datatyper på Suns Nuts and Bolts tutorial.
