Java Programmering Notater

Typer i Java

Java, ligesom Python, gør brug af forskellige typer til at præcisere, hvilken type data der behandles. I Python anvendes type hints, mens Java benytter typeannoteringer på variable og metoder. Det er vigtigt at bemærke, at i modsætning til Python er det obligatorisk at angive disse typer i Java for at undgå runtime-fejl og forbedre programmernes læsbarhed og vedligeholdelse.

Typer i Java

Java har to grundlæggende typer:

  1. Primitive typer: Disse er enkle datatyper, som computeren nemt kan håndtere. De repræsenterer små dataenheder, der overføres mellem metoder direkte, hvilket gør dem hurtigere end referencetyper.

    • Heltal:

      • byte: Et 8-bit heltal (værdier fra -128 til 127). Det er nyttigt, når hukommelsesplads er en vigtig faktor.

      • short: Et 16-bit heltal (værdier fra -32768 til 32767). Anvendes ofte i situationer hvor int ville være for mange bytes.

      • int: Et 32-bit heltal (værdier fra -2147483648 til 2147483647). Det er den mest anvendte helttalstype i Java.

      • long: Et 64-bit heltal (værdier fra -9223372036854775808 til 9223372036854775807). Det anvendes i situationer, hvor store tal er nødvendige, såsom tidsstempler.

    • Decimaltal:

      • float: Et 32-bit decimaltal, anvendt når præcision ikke er ekstremt vigtigt og hukommelse er en prioritet.

      • double: Et 64-bit decimaltal (double precision), der giver større præcision og er derfor almindeligt anvendt i matematiske og videnskabelige beregninger. Det er vigtigt at være forsigtig med sammenligninger mellem disse typer, da der kan opstå præcisionsfejl.

    • Andre:

      • boolean: En boolsk værdi, der kan være enten true eller false, og bruges almindeligvis til kontrolflow i programmering.

      • char: Et 16-bit unicode-tegn, som repræsenterer karakterer og muliggør understøttelse af internationale sprog.

      • void: Ingen værdi, som betyder at der ikke returneres noget, og anvendes til metoder, der ikke returnerer en værdi.

  2. Referencetyper: Disse refererer til komplekse datatyper, der er mere naturlige for mennesker. Store datastørrelser, som objekter og arrays, overføres som referencer til hukommelsesadresser. Dette gør dem mere komplekse at håndtere men samtidig også mere kraftfulde, da de kan rumme store datamængder og komplekse datatyper.

Klasser i Java

I objektorienterede programmeringssprog som Java organiseres programmet i klasser og objekter. Klasser fungerer som skabeloner til at lave objekter og indeholder variable (felter) og metoder. Det er nyttigt at tegne klasser og deres variable og metoder i et UML klassediagram, hvilket giver et visuelt overblik, der kan hjælpe med at forstå systemets struktur. Eksempel: I klassen Foo kunne man have en offentlig, statisk variabel bar af typen long, samt en offentlig, statisk metode baz, der tager en parameter af typen int og returnerer en boolean værdi. Dette viser, hvordan man kan strukturere data og funktionalitet i Java.

Programmeringsøvelser i Java

I undervisningen vil der blive lavet en fælles øvelse, hvor deltagerne skal skrive et program, der indlæser to tal fra terminalen. Disse tal repræsenterer længderne på de to kateter i en retvinklet trekant. Programmet skal herefter udskrive længden af hypotenusen beregnet ved hjælp af Pythagoras' sætning, hvilket både er en praktisk anvendelse af matematik og programmering i Java. Deltagerne vil lære at håndtere inddata, udføre beregninger og vise output korrekt, hvilket er grundlæggende færdigheder i programmering.