Generische Programmierung
ermöglicht, ein und dieselben Programmstrukturen für Variablen unterschiedlichen Datentyps zu verwenden (Datentyp kann sich noch ändern —> generisch)
Platzhalter statt echtem Datentyp, diesen erst bei Initialisierung festlegen
weniger Programmieraufwand
Java Class Library
Java soll betriebssystemunabhängige Funktionalitäten aufweisen —> eigene Library
Listen, Ein- und Ausgabe, mathematische Funktionen
Erstellung grafischer Oberfläche
Bilderzeugung
Umgang mit Textdaten
die wichtigsten: Collections, Listen, Mengen, Warteschlangen
Collections
Ansammlung von Daten
Listen: geordnete Datenansammlung, Elemente können mehrfach vorhanden sein, Implementierung durch java.util.List
Mengen: ungeordnete Datenansammlung, Elemente können nur einmal vorhanden sein, Implementierung durch java.util.Set
Warteschlangen: geordnete Datenansammlung, Elemente können mehrfach vorhanden sein, neue Elemente am Ende, Implementierung durch java.util.Queue
ArrayList, LinkedList …
Collections Methoden
add(E e)
addAll(Collection<? extends E> c)
clear( )
contains(Object o) —> in Liste enthalten?
isEmpty( )
remove(Object o)
size ( )
get(int i)
indexOf(Object o)
Abbildungen Maps
Paar aus Key (Schlüssel) und Values (Wert)
Ein Value pro Key
mehrere Keys pro Values
Einbindung mit java.util.Map
containsKey(Object Key)
constainsValue(Object value)
get(Object Key)
keySet()
put(K key, V value)
Was sind Nicht-Interaktive Programme
keine Interaktion mit dem Nutzer, z.B. Addition von zwei gegebenen Variablen
Ablauf:
Programmstart
Progamm verarbeitet Eingabedaten
Progamm liefert Ergbnis
Progammende
keine Einflussmöglichkeiten auf Progammausführung ab Programmstart
Was sind Interaktive Programme
Fragt den Benutzer nach Eingabe, z.B: Berechnung zweier Variablen, die der Nutzer mit Scanner eingibt
Warten auf Eingaben
Abarbeiten der Eingaben, warten
Progammendei.d.R. erst nach Aufforderung
Einflussmöglichkeiten auf Progammausführung fast jederzeit
Was sind Exceptions?
Ausnahmen:
Dinge die nicht Funktioniern (Netzwerk, Geräete, Drucker)
Unerwartet Eingaben (“Zahl” ist keine Zahl, teilen durch 0)
Folgen:
Falsche Ergebnisse
Progamm Crash
Java Einbindung durch java.lang.Exception
Schlüsselwörter von Exceptions
throw —> Exception werfen
throws —> Exception im Methodenkopf ankündigen
try —> versuchen bei evtl. Fehler
catch —> Fehler behandeln —> mehere catchblöcke möglich
finally —> Anweisung die immer Ausgeführt werden sollen
Checked und Unchcked Exceptions
Checked:
Exception muss gefangen und/oder mit thrwo weitegeworfen werden
Sinvoll bei tatsächlicher Behnadlungsmöglichkeiten
Unchecked
Sinvoll bei zufälligen Fehlern oder keine behandlungsmöglichkeiten (Speicher voll)
Exception kann weitergefangen oder mit thrwo weitegeworfen werden
Last changed2 years ago