Sie sind auf Seite 1von 2

Zusammenfassung Programmierung (Theorie) Zusammenfassung Programmierung (Theorie) Zusammenfassung Programmierung (Theorie)

Übung 1: Einführung Übung 3: Arrays Übung 4: Listen

- Was ist eine Klasse: Eine Klasse ist das äußerste Konstrukt in einem Java Wie kann das Problem gelöst werden, wenn das aktuelle Array zu klein ist?: Wie funktionieren die Listen konzeptionell? Wozu wird die Klasse „Node“
Programm, mindestens eine Klasse muss in einem Programm enthalten sein. - Da ein Array final ist (die Größe darf nicht verändert werden), muss man ein benötigt?
- Was ist eine Variable: Sie ist ein Verweis auf einen Speicherplatz mit neues, mit gewünschter Länge, erstellen. Übertragung erfolgt durch eine for- - Listen im Gegensatz zu Arrays kann man erweitern. Die beiden Datenstrukturen
festgelegtem Datentyp. Schleife. sind dynamisch. In der Liste zeigt das vorherige Element, welches nach ihm
- Was ist eine Methode: Eine Klasse besteht aus mind. Einer Methode, die aus weiterkommt. Die Klasse „Node“ ist ein Zähler bzw. ein Zeiger.
Parametern besteht. Eine Methode ist ein getrennter Programmabschnitt und lässt Es ist folgendes Array zu betrahcten: int [][] i = new int [2][6]:
sich getrennt vom Hauptprogramm ausführen. Welche Länge haben die äußere und innere Dimension?
Was ist der Vorteil der Datenstruktur Liste?
- Was ist ein Parameter: Das ist eine Variable, die an eine Methode übergeben wird - 2 und 6
- In einer Liste kann man Objekte ändern, hinzufügen, rausnehmen, da eine Liste
und deren Datentyp kann auch festgelegt werden. nicht final ist.
- Was ist ein Datentyp: gibt an, welche Daten eine Variable haben kann (int, String Wie lautet die Bedingung, um das zweite Element im ersten, inneren Array
etc.) mit dem fünften Element des zweiten inneren Arrays zu vergleichen?:
Übung 5: Objekte, Enum, Switch
Was ist der Unterschied zwischen einem Ausdruck und einer Anweisung? Public boolean vergleiche (int[][] array) {
Boolean check = false; Was ist ein Objekt? Wie kann es in Beziehung zu anderen Objekten stehen?:
- Ausdruck: Variablen, die durch Operationen verknüpft werden (5+5).
Anweisung: Der Ausdruckswert wird einer Variablen zurückgegeben, einer
if(array[0][2]==array[1][5]) { - Objekt ist eine Instanz einer Klasse. Auf ein Objekt können mehrere Objekte
check=true; Anweisen d.h. Aggregation oder Komposition (besonders Vererbung).
Methode übergeben oder als Methodenwert zurückgegeben.
}
Return check; Was ist ein Konstruktor? Ist er einzigartig? Wie wird er aufgerufen und was
Was passiert, wenn auf eine nicht initialisierte Variable zugegriffen wird?
} geschieht dann?
- Fehlermeldung.
- Ein Konstruktor ist eine Methode, die Objekte erzeugt. (hat gleichen Namen, wie
Welcher Wert ist in jedem Array-Element enthalten?: Klasse)
Was ist ein Schlüsselwort:
- Ist ein Wort, das durch Programmiersprache schon definiert wurde, z.B. for, while, - 0
int etc. Was unterscheidet eine Referenz auf ein Objekt vom Zugriff auf eine Variable
Es ist folgendes Array zu betrahcten: char [][] j = new char {{a,b,c,d}, {},
mit primitivem Datentyp?
Was passiert, wenn man von double nach int castet: {e,f}};
- Der für eine primitive Variable reservierte Speicherbereich enthält direkt den
- Die Dezimalstellen werden abgetrennt bzw. Datenverlust. J[1]=new char[3];
primitiven Wert, der der Variable zugeordnet werden soll. Der für eine
Worin unterscheiden sich die beiden Arrays?:
Referenzvariable reservierte Speicherbereich enthält dagegen eine Referenz.
Übung 2: If-Anweisungen und Schleifen - 1. Array ist ein int-Array. Das char-Array wurde initialisiert und ist nicth
rechteckig.
Wie prüfe ich bei primitiven Datentypen auf Gleichheit? Wie unterscheidet sich
Welche Bedeutung haben die Operatorprioritäten?:
dies bei Objekten?
- In welcher Reihenfolge werden die Ausdrücke verarbeitet. Welche Längen haben die inneren Arrays von j? Geben Sie den größten Index
- Bei primitiven Datentypen ==, bei Objekten .equals().
an:
Worin unterscheidet sich ein String von einem char: - 1. Max Index = 4. 2. Max Index = 3. 3. Max Index = 2.
- String ist eine Zeichenkette aus mehreren Symbolen, char ist ein primitiver Wann wird ein Objekt gelöscht?
Datentyp, der nur aus einem Symbol besteht. Wie kann das erste innere Array mit for-each-Schleife ausgegeben werden? - Wenn keine Referenz auf das Objekt zeigt. (garbage Kollektor).

Wofür eignen sich for- und while-Schleifen: Public void ausgabe(char[][]array) { Was ist der Vorteil einer switch-Anweisung gegenüber einer if-Anweisung?
- Für Bedingungsschleifen benutzt man (do-)while-Schleifen (Anzahl for(char[]a: array) { - Swift ermöglicht, zwischen mehreren Feldern zu unterscheiden und ist mehr
Wiederholungen nicht bekannt). Für Zählschleifen benutzt man for-Schleifen for(char b: a) { übersichtlicher (kann mit Bedingungen <>= stellen). If-Anweisungen ermöglichen
(Anzahl Wiederholungen bekannt). System.out.print(b+ " "); komplette Bedingungen.
}
System.out.println(); Wozu verwendet man Enums? Beispiel.
break; - Um aufzuzählen. Public enum Season { SUMMER, AUTUMN, WINTER, SPRING }
}
}

Was passiert, wenn der Wert von j[0][4] ausgegeben werden soll?
- Error Index 4 out of bounds for length 4

Zusammenfassung Programmierung (Theorie) Zusammenfassung Programmierung (Theorie) Zusammenfassung Programmierung (Theorie)

Unterschied zwischen PreOrder, PostOrder und InOrder erläutern: Übung 10: Generics & Graphen
Wofür wird final benutzt? Wann solte static benutzt werden? - PreOrder: Wurzel(Spitze), links, rechts.
- Bei final können Attribute nicht verändert werden. Statische Methoden können PostOrder: links, Wurzel, rechts. Wofür werden Generics verwenget?
nur auf statische Attribute zugreifen, während ein Zugriff auf die Attribute der InOrder: links, rechts, Wurzel - Generics dienen als Platzhalter, die später gefüllt werden können. Sie bieten die
Objekte nicht möglich ist. Möglichkeit zur Konstruktion wiederverwendbarer und typensicherer
Übung 8: Vererbung Datenstrukturen. (Datentypen sind noch unbekannt)
Wann benötigt man das Schlüsselwort this bei setter-Methoden?
- This benutzt man, wenn in der Methode einen Wert zugewiesen bekommt, der Was ist Vererbung? Was ist der Vorteil von spezifischen Datentypen gegenüber der Verwendung
denselben Namen hat, wie die Instanzvariable. - ermöglicht es dir eine hierarchische Ordnung für Klassen festzulegen und vom Typ Object?
reduziert somit die Menge des redundanten Codes. Das bedeutet, dass du die - Ein Vorteil gegenüber raw ist es, dass es lesbarer ist, da es ersichtlich ist, was in
Übung 6: Rekursion Attribute und Methoden einer Klasse vererben kannst und du sie damit nicht einer Liste erhalten ist und zum anderen, dass auf Typecast verzichten kann, da
nocheinmal programmieren musst. (extends) dem Compiler der Objekttyp bereits bekannt ist.
Was versteht man allgemein unter Rekursion, wie wird dieses Prinzip in Java
umgesetzt? Übung 9: Interfaces Wofür werden Graphen verwendet?
- Rekursion ist ein Vorgang, der in sich selbst Sachen enthält, die sich aufrufen z.B. - Ein Graph g ist also definiert als eine Menge von Eckpunkten V und Kanten E, die
eine Methode in Java. Es können 2 Methoden impliziert, wobei eine Wofür werden Interfaces verwendet? diese Eckpunkte verbinden. Diagramme werden meistens verwendet, um
vervollständigt wird und andere ruft die erste ab. Jedoch kann alles in einer - Sie werden verwendet, um Typen zu definieren und um zu ermöglichen, dass verschiedene Netzwerke wie Computernetzwerke, soziale Netzwerke
Methode geschienen. einer Klasse mehrere Datentypen zugewiesen werden. usw. darzustellen.
è Klassendesign, Unabhängigkeit der Implementierung, Verwendung des
Aus welchen beiden Teilen besteht ein rekursiver Methodenrumpf mindestens? Programms von außen Was ist ein Semi-/Weg/Zyklus in einem Graph?
- Aus Endbedingung (Determinierungsbedingung, die die Rekursion beendet) und - Ein Pfad von einem Knoten zu sich selbst.
rekursivem Ausdruck. Was für ein Problem kann auftreten, wenn eine Klasse mehrere Interfaces - Ein Weg ist ein einfacher Weg, wenn kein Knoten öfter als einmal vorkommt
implementiert? - Ein Semiweg ist ist Weg, wobei von der Richtung der Kanten abgesehen wird
Was bedeutet eine rekursive Methode ist „linear-rekursiv“? - Das kann dazu führen, dass die Interfaces Methoden enthalten können, die sich
- Es darf höchstens ein rekursiver Aufruf vorkommen. selbst gegenseitig ausschließen. Wenn die Methode denselben Namen hat, muss Übung 11: Exception
es auch vom Rückgabetyp passen. Es kann ein spezifischer als der andere ein, sie
Was bedeutet eine rekursive Methode ist „schlicht“/“endrekursiv“? dürfen sich nicht ausschließen. Über welchem Kanal werden die Fehlersignale beim Auftreten einer Exception
- Eine rekursive Funktion f ist endrekursiv, wenn der rekursive Funktionsaufruf die zurückgegeben? Wie könnten Programmfehler ohne die Verwendung
letzte Aktion zur Berechnung von f ist. Was sind anonyme Klassen? Wofür werden sie verwendet? Exceptions zurückgegeben werden?
- Eine anonyme Klasse trägt keinen Namen und wird in ein und dem selben - 1. Über einen eigenen Kanal werden die Fehler signalisiert. Die Signale werden
Übung 7: Rekursion Bäume Statement deklariert und instanziiert. Da in Java jedes Objekt aber eine klare vom regulären Rückgabewert entkoppelt
Typ-Zuordnung braucht, muss diese anonyme Klasse entweder eine bestehende 2. Ohne Verwendung von Exceptions kann man die Fehler über den
Welche Höhe hat ein Baum mit nur einem Wurzelknoten? Klasse erweitern oder ein Interface implementieren. Die Syntax ist in beiden Methodenrückgabewert zurückgeben.
- 0, weil die erste Ebene bzw Index immer als 0 angesehen wird (vgl. Arrays) Fällen gleich, da weder extends noch implements verwendet werden.
Worin besteht der Unterschied zwischen throw und throws?
Welchen Vorteil bieten Bäume gegenüber Listen an? - Worin besteht ein Unterschied zwischen einer polymorphen und einer - Throw: zum Werfen von Fehlern
- Binärbäume haben statt lineare logarithmische Suchzeit, was viel schneller ist. überladenen Methode? Throws: zur Deklaration von Fehlern im Methodenkopf
- Polymorphie: bezeichnet in der objektorientierten Programmierung den Prozess,
Was ist ein balancierter Baum? Welchen Vorteil besitzt er? dass Methoden mit identischer Signatur unterschiedliche Resultate liefern. Worin besteht Unterschied zwischen Unchecked- und Checked-Exceptions?
- Ein balancierter Baum darf auf einer Ebene nur einen Unterschied haben. Überladene Methode: Ist innerhalb einer Klasse zwei unterschiedliche Methoden - 1. Checked: Compiler fordert, dass deklarierte Exceptions vom aufrufenden
Vorteil->schnellere Suche. Es wird verhindert, dass die Bäume nicht zu einer Liste mit demselben Namen zu definieren. Der Compiler unterscheidet die Programmteil abgefangen werden. Treten nur auf bestimmten Stellen auf.
bzw. zu rechts-/ linkslastigen Bäumen werden. verschiedenen Varianten anhand der Anzahl und der Typisierung ihrer 2. Unchecked: Abfangen wird vom Compiler nicht überprüft. Sie müssen nicht im
Parameter. throws- Teil/ Methodemkopf deklariert werden.
Worin unterscheidet sich eine Tief- von Breitensuche?
- Tiefsuche – von oben nach unten. Breitensuche – von rechts nach links.

Zusammenfassung Programmierung (Theorie)

Übung 12: Streams & Lambda

Was ist ein SAM-Interface? Wofür wird es verwendet?


- Ein SAM-Interface ist ein Single-Abstract-Method-Interface (Funktionales
Interface), das genau eine abstrakte Methode besitzt.
- Es wird verwendet, um Lambda-Ausdrücken, die Definition anonymer Klassen
elegant zu ersetzen

Was sind die zwei Bestandteile eines Lambda-Kalküls?


- Funktionsdefinition und Funktionsapplikation

Nennen Sie drei Anwendungsfälle für Lambda in Java


- Konfiguration von Algorithmen
- Callbacks
- Iteration durch Collections
- Eliminierung von Hilfsfunktionen

Was versteht man unter Typinferenz?


- Java-Compiler ist in der Lage, den Typ von Lambda-Ausdrücken und deren
Parametern aus dem Kontext abzuleiten
- Aus einem Lambda-Ausdruck kann je nach Kontext ein unterschiedlicher Typ
abgeleitet werden

- Wofür sind Streams? Wofür werden sie verwendet?


- Streams sind eine API, die verschiedene Funktionen auf Elemente einer Collection
bietet
- Sie werden zum Auslesen und Manipulieren einer Kopie der Elemente einer
Collection verwendet.

Powered by TCPDF (www.tcpdf.org)

Das könnte Ihnen auch gefallen