Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
Dette er hovedsiden for faginnhold i TDT4100. Her kommer det etterhvert en innholdsfortegnelse og forhåpentligvis et tankekart med lenker til tematisk

...

 innhold.

{html}<div id="flashcontent"><embed id="visorFreeplane" width="100%" height="100%" align="middle" flashvars="bgcolor=16777215&openUrl=_blank&initLoadFile=./Java.html_files/map.mm&startCollapsedToLevel=2"

...

 quality="high" src="./Java.html_files/visorFreeplane.swf" type="application/x-shockwave-flash"></embed></div>{html}
Faginnhold (forutsetninger/pensum)

...


* datatyper
** logiske (boolean, true/false)

...


** tall
*** heltall (int/byte/short/long)

...


*** desimaltall (double/float)

...


*** tegn (char)

...


** [strenger (String)

...

|tdt4100:String]
*** Implisitt konvertering til String med String.valueOf og Object.toString

...

  • variabler
    • deklarasjon
      • lokale (i metoder og blokker)
      • globale (i klasser)
      • konstanter (final)
    • initialisering
    • tilordning
    • blokker/skoping
    • levetid

...

  • tabellkonstanter i initialisering vs. generelt i uttrykk

...


** 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

...

  • dataklasser
  • grensesnitt
  • enum

...

  • felt
  • metoder
  • konstruktør

...



* metoder
** parametre
** returtype
** overlasting (overloading)
** kropp
** applikasjonsmetoden main
*** signatur
*** kommandolinjeparametre

* klasser
** kategorier
*** dataklasser
*** grensesnitt
*** enum
** medlem
*** felt
*** metoder
*** konstruktør
** grensesnitt/innkapsling
*** synlighet(smodifikatorer): 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

...

  • bruk av fullt klassenavn med pakke vs. import
  • System.out: print/println, printf
  • System.in og Scanner

...


** finally
** throws
** checked vs. unchecked
** Exception: IOException, FileNotFoundException, RuntimeException, NullPointerException, IndexOutOfBoundsException, IllegalArgumentException, NumberFormatException, IllegalStateException, UnsupportedOperationException
* iterasjon: standardløkker, tabeller, Collection-instanser (og tabeller), strenger, tekstinput, datainput, 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