Dette er hovedsiden for faginnhold i TDT4100. Her kommer det etterhvert en innholdsfortegnelse og forhåpentligvis et tankekart med lenker til tematisk innhold.
Faginnhold
Faginnhold (forutsetninger/pensum)
- datatyper
- logiske (boolean, true/false)
- tall
- heltall (int/byte/short/long)
- desimaltall (double/float)
- tegn (char)
- strenger (String)
- Implisitt konvertering til String med String.valueOf og Object.toString
- tabeller
...
- 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√∏ringparameteroverføring
- konvertering av verdier
- implisitt konvertering
- eksplisitt avkutting av tallverdier
- this-referansen
- konstantverdier
- 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 løkker (labels)
- metoder
- parametre
- returtype
- overlasting (overloading)
- kropp
- applikasjonsmetoden main
- signatur
- kommandolinjeparametre
- klasser
- kategorier
- dataklasser
- grensesnitt
- enum
- medlem
- felt
- metoder
- konstrukt√∏rkonstruktør
- grensesnitt/innkapsling
- synlighet(smodifikatorer): public, private, pakke/default, protected
- konvensjoner:
modifikatorerpublicprivatepakke/defaultprotected*** konvensjoner
get/set-metodercountmetoder, count/get/setaddset, add(append/insert)/removecontainsremove, contains/indexOf**
- arv
- implements/extends
- polymorfi
- abstrakte klasser
- parametriserte/generiske
- kovarians/konvarians
- brukt i Collection-rammeverket
- egendefinerte
- instanser/instansiering
- kategorier
- unntakshåndtering unntaksh√•ndtering
- throw
- try/catch
- finally
- throws
- checked vs. unchecked
- Exception
IOExceptionFileNotFoundExceptionRuntimeExceptionNullPointerExceptionIndexOutOfBoundsExceptionIllegalArgumentExceptionNumberFormatExceptionIllegalStateExceptionUnsupportedOperationException: IOException, FileNotFoundException, RuntimeException, NullPointerException, IndexOutOfBoundsException, IllegalArgumentException, NumberFormatException, IllegalStateException, UnsupportedOperationException
- iterasjon: standardløkker, tabeller, Collectioniterasjon
standardl√∏kkertabellerCollection-instanser (og tabeller)strengertekstinputdatainputakkumulering , strenger, tekstinput, datainput, akkumulering av resultat - standard-klasser/objekter
- bruk av fullt klassenavn med pakke vs. import
- System.out
: print/println, printf - printlnprintf** System.in og Scanner
- datastrukturer
- Collection-rammeverket
: Collection/List/ArrayList/LinkedListIteratorSetMapLinkedList, Iterator, Set, Map/HashMap** - egendefinerte
: lenkede listerstack/stabelqueue/k√∏tr√¶rtabelllister, stack/stabel, queue/kø, trær, tabell
- Collection-rammeverket
- tall/beregninger
- Nummer-klassene
- Math
PIrandom: PI, random(), diverse funksjoner (min/max/abs, avrunding, trig., exp., ...)** - Random
- IO
- strømmerstr√∏mmer
InputStream/OutputStreambufring OutputStream, bufring og close/flushReader/WriterPrintStream/PrintWriterkonsollflush, 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, strengoutObjectStream** filer
File** nettverk
URI/URLhttpftpfileURLConnection** parsing
regulære uttrykkPatternMatcherScannerstreng-til-tall-konverteringsmetoderIntegerkonverteringsmetoder, Integer.parseInt(String)/Integer.valueOf, (String)Double.parseDouble(String)/Double.valueOf(String)
- strømmerstr√∏mmer
- GUI
hendelserkomponenterdata-komponenterenkle verdierlister/hierarkiercontainerelayoutdialogerjavax.swing.JOptionPaneshowInputDialog: hendelser, komponenter, data-komponenter, enkle verdier, lister/hierarkier, containere, layout, dialoger, javax.swing.JOptionPane, showInputDialog(String)-metodeshowMessageDialogmetode, showMessageDialog(null, String)-metodeshowConfirmDialogmetode, showConfirmDialog(null, String)-metodeYESmetode, YES_OPTION, NO_OPTION, CANCEL_OPTIONtoolkitsSwing/AWTSWTJavaFXgrafikkJava2DOpenGL - tråder
Thread/Runnablemonitorerwaitnotify/notifyAllsynchronized - patterns
delegeringfactoryobservert-observat√∏r - 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: testing
eyeballtesting (main og print), enhetstesting med JUnittestklasser JUnit, testklasser og -metoderassert-metodenesetUp og tearDowntesting metoder, assert-metodene, setUp og tearDown, testing av unntak