Dette er hovedsiden for faginnhold i TDT4100.
=datatyper=
logiske (boolean, true/false)
==tall==
heltall (int/byte/short/long)
desimaltall (double/float)
tegn (char)
==strenger (String)==
En String er en sekvens med tegn (char-verdier) og har metoder for å 1) lese ut enkelttegn eller deler av tegnsekvensen, eller 2) lage ny String-instanser basert på deler av innholdet. Merk at det ikke finnes metoder i String som endrer på innholdet, istedet bygger en opp nye String-instanser med innhold fra eksisterende. For å gjøre dette lettere, har Java egen syntaks for String-konstanter, +-operatoren kan brukes for å sette samme String-instanser og verdier og objekter gjøres automatisk om til String-instanser i mange sammenhenger.
Implisitt konvertering til String med String.valueOf og Object.toString
tabeller
=variabler=
==deklarasjon==
lokale (i metoder og blokker)
globale (i klasser)
konstanter (final)
initialisering
tilordning
blokker/skoping
levetid
=uttrykk=
==konstantverdier==
tabellkonstanter i initialisering vs. generelt i uttrykk
variabelreferanser
==operatorer og operander==
numeriske (+,-,*,/,%)
bit (&,|,<<,>>,~)
numerisk sammenligning (>,>=,<,<=)
sammenligning (==, !=)
logiske (!, &&, ||, ^)
strengspleising (+)
tilordning evt. m/operator (<op>=)
pre/post-dekrement/inkrement (++,--)
betinget (?:)
presedens og parenteser
metodekall og parameteroverf√∏ring
==konvertering av verdier==
implisitt konvertering
eksplisitt avkutting av tallverdier
this-referansen
=kontrollstrukturer=
betingelser og valg (if/else, switch/case/default)
==iterasjon (while, for)==
starttilstand
stoppbetingelser
stegsetning
avbrudd/hopp ut eller over (break/continue)
navngitte l√∏kker (labels)
=metoder=
parametre
returtype
overlasting (overloading)
kropp
==applikasjonsmetoden main==
signatur
kommandolinjeparametre
=klasser=
==kategorier==
dataklasser
grensesnitt
enum
==medlem==
felt
metoder
konstrukt√∏r
==grensesnitt/innkapsling==
===synlighet===
modifikatorer
public
private
pakke/default
protected
===konvensjoner===
get/set-metoder
count/get/set
add(append/ insert)/remove
contains/indexOf
==arv==
implements/extends
polymorfi
abstrakte klasser
==parametriserte/generiske==
kovarians/konvarians
brukt i Collection-rammeverket
egendefinerte
instanser/instansiering
=unntakshåndtering=
throw
try/catch
finally
throws
checked vs. unchecked
==Exception==
===IOException===
FileNotFoundException
===RuntimeException===
NullPointerException
IndexOutOfBoundsException
====IllegalArgumentException====
NumberFormatException
IllegalStateException
UnsupportedOperationException
=iterasjon=
==standardl√∏kker==
tabeller
NOTE:  for (int i=0; i < tabell.length; i++) {
   type var = tabell[i];
   ...}
Collection-instanser (og tabeller)
NOTE: for (type var: collection-eller-tabell) {
   ...
}
strenger
NOTE: for (int i=0; i < s.length(); i++) {
   char c = s.charAt(i);
   ...
}
tekstinput
NOTE: Scanner sc.scanner(System.in); sc.useDelimiter("\n");
while (sc.hasNext()) {
   String line = sc.next();
   ...
}
datainput
NOTE: Scanner sc.scanner(System.in);
while (sc.hasNextXxx()) {
   xxx n = sc.nextXxx();
   ...
}
akkumulering av resultat
=standard-klasser/objekter=
bruk av fullt klassenavn med pakke vs. import
==System.out==
print/println
printf
System.in og Scanner
=datastrukturer=
==Collection-rammeverket==
Collection/List/ArrayList/LinkedList
Iterator
Set
Map/HashMap
==egendefinerte==
===lenkede lister===
stack/stabel
queue/k√∏
trær
tabell
=tall/beregninger=
Nummer-klassene
==Math==
PI
random()
diverse funksjoner (min/max/abs, avrunding, trig., exp., ...)
Random
=IO=
==str√∏mmer==
InputStream/OutputStream
bufring og close/flush
Reader/Writer
PrintStream/PrintWriter
konsoll-IO med System.in/System.out
ObjectStream
==filer==
File
==nettverk==
===URI/URL===
http
ftp
file
URLConnection
==parsing==
===regulære uttrykk===
Pattern
Matcher
Scanner
===streng-til-tall-konverteringsmetoder===
Integer.parseInt(String)/Integer.valueOf(String)
Double.parseDouble(String)/Double.valueOf(String)
=GUI=
hendelser
==komponenter==
===data-komponenter===
enkle verdier
lister/hierarkier
===containere===
layout
===dialoger===
====javax.swing.JOptionPane====
showInputDialog(String)-metode
showMessageDialog(null, String)-metode
showConfirmDialog(null, String)-metode
YES_OPTION, NO_OPTION, CANCEL_OPTION
==toolkits==
Swing/AWT
SWT
JavaFX
==grafikk==
Java2D
OpenGL
=tråder=
Thread/Runnable
==monitorer==
wait
notify/notifyAll
synchronized
=patterns=
delegering
factory
observert-observat√∏r
=testing=
eyeballtesting (main og print)
==enhetstesting med JUnit==
testklasser og -metoder
assert-metodene
setUp og tearDown
testing av unntak
|