continue
- avbryter aktuell iteration av slinga och går direkt till att test villkoret (om sådant finns) och nästa iteration om villkoret är uppfyllt.
import static x.y.C.*;
-- importera statiska medlemmar från klass. Exempel: static impot
Math.random
, Math.round
Arrays.copyOf
, Arrays.equals
System.in
, System.out
, System.exit
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)
5
, -17
, 3.14
, 1.25e4
, true
, false
, 'k'
, "foo"
, null
x
, tal2
, antal_personer
++
, --
, +
, -
, *
, /
, %
, ==
, !=
, <
, <=
, >
, >=
, &&
, ||
, !
, =
, +=
, -=
, ?:
, instanceof
f(arg1, arg2, ...)
(T)e
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.
Primitiva typer
byte
8 bitars heltalshort
16 bitars heltalint
32 bitars heltallong
64 bitars heltalfloat
32 bitars flyttaldouble
64 bitars flyttalboolean
kan ha värdet false
eller true
. Förvalt värde är false
.char
16 bitars Unicode-teckenHeltalen 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)
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
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(..)
t x;
, t x = init;
)expr;
)if..then..else
for
for (t x : array/collection)
)while
, do..while
switch
try
-catch
throw
return
break
continue
- avbryter aktuell iteration av slinga och går direkt till att test villkoret (om sådant finns) och nästa iteration om villkoret är uppfyllt.Nästlade loopar.
(F1 - Satser, Sammansatta satser, F2 - Sammansatta satser, forts, F4 - For each-loopar, F4 - Switch-satser, F4 - Undantag )
Syntax för deklaration av metoder.
void
- inget returvärde
throws
- metoden kastar undantag
main-metoden:
public static void main(String[] args)
System.out.println
(F1 - Ett första Java-program, F2 - Programargument)
Rekursion (F9 - Rekursion)
class
this
static
)(F3 - Objektorienterad programmering)
final
)(F4 - Överlagring av metodnamn)
extends
, super
)(F4 - Arv)
Tillgänglighetsmodifierare (public
, private
, protected
)
Klasser i klasser
(F7 - Mer om klasser och gränssnitt)
abstract
)(F7 - Abstrakta metoder och klasser)
Object
direkt eller indirekt.interface
implements
<T1, T2, ...>
<T extends I>
?
enum E {VAL1, VAL2, ..}
package x.y.C;
import x.y.C;
, import x.y.*;
import static x.y.C;
(F2 - Paket och import, F8 - Paket och tillgänglighet)
F9 - Anonyma klasser, Lambda-uttryck
(F2 - Kommentarer och Javadoc)
String
(F2 - Strängar)Math
, inkl. random
(F4 - Matematiska funktioner)Integer
, Double
, Boolean
etc. (boxade primitiva värden). Exempel på metoder: parseInt
, parseDouble
(F4 - Primitiva värden som objekt)Exception
(F4 - Undantag)Arrays
(F10 - Sökning och sortering)Object
, equals
, toString
, hashCode
Collections framework (F8 - Java collections framework, F9 - Java collections framework, forts.)
Collection
List
, Stack
, Queue
, Dequeue
, implementeringarSet
, implementeringarequals
och hashCode
från Object
Comparable
Map
, implementeringarIterator
, Iterable
Filåtkomst (File
, Scanner
, PrintWriter
) (F4 - Input/Output)
Strömmar (``InputStream
, OutputStream
, FileInput/OutputStream
, FileReader/Writer
, BufferedInputStream
, BuffererReader
) (F11 - Strömmar)
(F5 - Grafisk gränssnitt, F6 - Grafiska gränssnitt, forts., F7 - Model-View-Controller)
Aktiva objekt, Thread
, Runnable
, interrupt
, synchronized
, BlockingQueue
, SwingWorker
(F11 - Aktiva objekt och trådar)
URL
, URLConnection
, InetAddress
, DatagramPacket
, DatagramSocket
, Socket
, ServerSocket
.
Känna till hur binärsökning, urvalssortering och mergesort fungerar.
(F10 - Sökning och sortering, binärsökning, sortering)
Preconditions, postconditions, JUnit
.
Klassdiagram, klasser, variabler, metoder, associationer.
Relationstyper: är, har, känner till.
Multiplicitet.