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
- deklarasjon
...
- 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 |