I næsten ethvert Java-program finder du primitive datatyper, der bruges. De giver en måde at gemme de enkle værdier, som programmet har at gøre med. Overvej for eksempel et lommeregnerprogram, der giver brugeren mulighed for at udføre matematiske beregninger. For at programmet skal nå sit mål, skal det være i stand til at gemme de værdier, som brugeren indtaster. Dette kan gøres ved hjælp af variabler. En variabel er en container for en bestemt type værdi, der er kendt som en datatype.
Primitive datatyper
Java leveres med otte primitive datatyper til at håndtere enkle dataværdier. De kan opdeles i fire kategorier efter den slags værdi, de har:
- Heltal: dette er positive og negative heltal.
- Flydende numre: ethvert tal, der har en brøkdel.
- tegn: en enkelt karakter.
- Sandhedsværdier: enten sandt eller falsk.
Heltal
Heltal indeholder talværdier, der ikke kan have en brøkdel. Der er fire forskellige typer:
- byte: bruger en byte til at gemme værdier fra -128 til 127
- kort: bruger to bytes til at gemme værdier fra -32,768 til 32,767
- int: bruger fire bytes til at gemme værdier fra -2,147.483.648 til 2.147.483.647
- lang: bruger otte bytes til at gemme værdier fra -9.223.372.036.854.775.808 til 9.223.372.036.854.775.807
Som du kan se ovenfra, er den eneste forskel mellem typer intervallet af værdier, de kan indeholde. Deres intervaller korrelerer direkte med den mængde plads, datatypen har brug for for at gemme dens værdier.
I de fleste tilfælde, når du vil repræsentere et helt tal, skal du bruge int datatype. Dens evne til at holde tal fra knap -2 milliarder til lidt over 2 milliarder vil være velegnet til de fleste heltalværdier. Hvis du af en eller anden grund har brug for at skrive et program, der bruger så lidt hukommelse som muligt, skal du overveje de værdier, du har brug for at repræsentere, og se om byte eller kort er et bedre valg. Ligeledes, hvis du ved, at de numre, du har brug for at gemme, er højere end 2 milliarder, skal du bruge den lange datatype.
Flydende numre
I modsætning til heltal, er flydende punkter som brøkdel. Der er to forskellige typer:
- flyde: bruger fire bytes til at gemme værdier fra -3.4028235E + 38 til 3.4028235E + 38
- dobbelt: bruger otte bytes til at gemme værdier fra -1.7976931348623157E + 308 til 1.7976931348623157E + 308
Forskellen mellem de to er simpelthen området for fraktionstal, de kan indeholde. Ligesom heltal korrelerer området direkte med den mængde plads, de har brug for til at gemme nummeret. Medmindre du har hukommelsesproblemer, er det bedst at bruge den dobbelte datatype i dine programmer. Det håndterer fraktionstal til den nøjagtighed, der kræves i de fleste applikationer. Den største undtagelse vil være i finansiel software, hvor afrundingsfejl ikke kan tolereres.
tegn
Der er kun en primitiv datatype, der beskæftiger sig med individuelle tegn - char. Chargen kan indeholde værdien af et tegn og er baseret på 16-bit Unicode-kodning. Tegnet kan være et bogstav, ciffer, tegnsætning, et symbol eller et kontroltegn (f.eks. En tegnværdi, der repræsenterer en ny linje eller en fane).
Sandhedsværdier
Som Java-programmer behandle i logik der skal være en måde at bestemme, hvornår en betingelse er sand, og når den er falsk. Det boolean datatype kan indeholde disse to værdier; det kan kun være sandt eller falsk.