En datatype er en klassifisering som kan identifisere data, i den forstand at datatypen bestemmer hvilke verdier dataene kan ha, hvilke operasjoner som kan gjøres med verdier av denne datatypen og tildels meningen med dataene.
Vi kan ofte dele datatypene inn i noen overordnede grupper:
Talldata:
Tall representeres ofte som integer eller double.
Integer
Dersom data er av typen integer, begrenser dette verdiene dataene kan ha til heltall.
Int-tallene ligger etter hverandre, som på en tallinje i begge retninger.
Av praktisk grunner er heltallene avgrenset til en minimum-/maksimum-verdi, som i java ser slik ut: MIN_VALUE ...-2,-1,0,1,2 ... Integer.MAX_VALUE
Hva kan vi gjøre med integer?
- Beregne nye tall: 1 + 2 – 3 * 4 / 5 % 6
- Sammenligne med andre tall: ==, !=, <, <=, >=, >
- Operere på dem som binære tall med: &, | og ~
int heltall; heltall = 1337; // Lovlig verdi for integer-variabelen heltall = 10.3; // Ulovlig heltall = 5/2; // Lovlig (heltallsdivisjon) heltall = 5.0/2 // Ulovlig heltall = 2; heltall < 3.2 // true
Double
Dersom data er av typen double, kan dataene ha verdier som desimaltall. Faktisk vil selv heltallsverdier "omgjøres" til desimaltall.
Med double kan man beregne nye tall, og sammenligne de med andre tall.
double desimaltall; desimaltall = 13.37; // Lovlig verdi for double-variabelen desimaltall = 10; // Lovlig, tolkes som 10.0 double annetDesimaltall = desimaltall/2.3; // Lovlig desimaltall == 10 // true, siden de er samme faktiske verdi desimaltall != 3 // true
Strengdata:
Når vi skal lagre tekst eller tegn brukes datatypene String eller char.
Char (Character)
Dersom vi har data bestående av en bokstav, et siffer eller et tegn kan dataene være av typen char.
Teknisk sett ligger alle char-verdier etter hverandre på en tall linje, slik som integers. Alle char kan derav representeres som en tallverdi.
Hva kan/er meningsfylt å gjøre med en char?
- Klassifisere data som som bokstav, stor/liten bokstav, siffer
- Gjøre om til stor/liten bokstav
- Konvertering mellom siffer og tall, f.eks. fra ‘1’ til 1
- Sammenligne med andre char-data
char tegn; tegn = 'A'; tegn = Character.toLowerCase(tegn); // tegn settes lik 'a' ved hjelp av en forhåndsdefinert metode som finnes i java tegn = '2'; // I java defineres en char med enkle apostrofer. tegn == 2; // false, da int og char ikke er like, selv om verdien ser lik ut. //Konvertering mellom char og int krever litt triksing: // 1) Hvis man forsøke caste en char til int, vil dette gi svært rare resultater: int heltall = (int) tegn; // heltall settes lik 50?? // Dette skyldes, som nevnt ovenfor, at alle char-verdier ligger på en tall-linje. Vi vet nå at '2' er representert på plass 50 langs denne tall-linjen. // 2) I java må vi konvertere char-verdien til en Sting, og deretter "parse" String-verdien til et integer. Det kan gjøres slik String s = Character.toString(tegn); // Bruker en ny forhåndsdefinert metode i java int heltall = Integer.parseInt(s); // heltall settes nå lik integer-verdien 2.
String
Dersom vi har data bestående av tekst vil dataene være av typen String.
Logiske data:
Tabelldata
DENNE SIDEN ER UNDER UTVIKLING