Diverse

Sammanfattning

Programspråket Java

Java är ett imperativ, objektorienterat språk med automatisk minneshantering. Kompilatorn skapar arkitektur-oberoende Java bytecode. Java virtual machine tolkar/jit-kompilerar denna kod.

Känna till vad dessa begrepp innebär.

(F1 - Vad utmärkar Java?, Javas infrastruktur, Imperativ programmering)

Uttryck

Känna till vilka typer literalerna motsvarar, vilka typer operatorerna fungerar med, vad de gör, vilken precedens och associativitet de har.

Imperativ programmering: uttryck har sidoeffekter. Känna till exekveringsordningen för operander och att argument i metod-anrop exekveras innan metoden anropas.

(F1 - Uttryck)

Typer

Primitiva typer

Heltalen har tecken (signed) d.v.s. kan vara negativa. De lagras på två-komplementformat. Förvalt värde för alla heltal och flyttal är 0.

(F1 - Typer, F2 - Förvalda initialvärden)

Typomvandling sker automatiskt mellan från mindre till större typer (ex. int till double, int till String) Explicit typomvandling kan användas t.ex. från double till int. Ett objekt o är av en viss typ T om o är en instans av klassen T eller en klass som ärver T i ett eller flera steg eller en klass som implementerar ett interface T eller ärver en klass som implementerar T. instanceof-operator.

(F3 - Omvandling mellan typer, F7 - Typomvandling och run-time- information om typer)

Referenstyper

Primitiva typer skickas som värden/kopieras. Referenstyper skickas referenser/pekare. En parameter i en metod som anropats påverkar samma instans som koden som anropade metoden. Samma sak gäller när en variabel tilldelats värdet av en annan.

(F2 - Arrayer, Arrayer som argument, Objekt)

Referenstypers värde kan vara null, vilket är det förvalda värdet.

(F3 - null-objekt och likhet på objekt)

Arrayer

Typ-notation: elttyp[]
elttyp kan vara vilken typ som helst inklusive arrayer, ex. tvådimensionell array av heltal: int[][]
Skapa array där elementen har förvalt värde: new elttyp[length]
Initiera array genom att ange elementens värden: {elt0, elt1, elt2, ...}
Indexera i array: arr[index]
Avgöra arrays längd: arr.length

(F2 - Arrayer)

Objekt

Typen ska vara en klass eller ett interface, vars namn börjar med stor bokstav.
Skapa en instans: new C(args)
Komma åt instansvariabler och -metoder: o.v, o.f(..)
Komma åt klassvariabler och -metoder: C.v, C.f(..)

(F2 - Objekt)

Satser

Nästlade loopar.

(F1 - Satser, Sammansatta satser, F2 - Sammansatta satser, forts, F4 - For each-loopar, F4 - Switch-satser, F4 - Undantag )

Definiera metoder

Syntax för deklaration av metoder.

void - inget returvärde

throws - metoden kastar undantag

(F2 - Definiera metoder)

main-metoden:

public static void main(String[] args)
System.out.println

(F1 - Ett första Java-program, F2 - Programargument)

Rekursion (F9 - Rekursion)

Klasser

(F3 - Objektorienterad programmering)

(F3 - Konstanter)

(F4 - Överlagring av metodnamn)

(F4 - Arv)

(F7 - Mer om klasser och gränssnitt)

(F7 - Abstrakta metoder och klasser)

Interface

(F4 - Gränssnitt)

Generics

(F8 - Generics)

Enumereringar

enum E {VAL1, VAL2, ..}

(F4 - Enumereringar)

Paket

(F2 - Paket och import, F8 - Paket och tillgänglighet)

Anonyma klasser och lambda-uttryck

F9 - Anonyma klasser, Lambda-uttryck

Kommentarer och Javadoc

(F2 - Kommentarer och Javadoc)

Javas API

(F2 - Javas API)

Collections framework (F8 - Java collections framework, F9 - Java collections framework, forts.)

Filer och strömmar

GUI

(F5 - Grafisk gränssnitt, F6 - Grafiska gränssnitt, forts., F7 - Model-View-Controller)

Aktiva objekt och trådar

Aktiva objekt, Thread, Runnable, interrupt, synchronized, BlockingQueue, SwingWorker

(F11 - Aktiva objekt och trådar)

Nätverkskommunikation

URL, URLConnection, InetAddress, DatagramPacket, DatagramSocket, Socket, ServerSocket.

(F11 - Nätverkskommunikation)

Sökning och sortering

Känna till hur binärsökning, urvalssortering och mergesort fungerar.

(F10 - Sökning och sortering, binärsökning, sortering)

Testning

Preconditions, postconditions, JUnit.

(F10 - Testning)

UML

Klassdiagram, klasser, variabler, metoder, associationer.

Relationstyper: är, har, känner till.

Multiplicitet.

(F10 - UML)