Criado por Aaron Welther
quase 5 anos atrás
|
||
Questão | Responda |
Was ist ein Compiler? Was ist ein Editor? | COMPILER: spezielles Programm zur Übersetzung von Quellcode in Bytecode im EDITOR wird Code eingegeben, er erzeugt Quellcode |
Was ist ein Bytecode? | "Maschinencode" (d. h. vom Prozessor lesbarer Code) für einen "virtuellen" Prozessor (Maschine) |
Wozu werden Bezeichner (identifier) verwendet und wie müssen gültige Bezeichner aufgebaut sein? | Bezeichner bezeichnen z. B. Programmname, Variablen, Konstanten, Typen, Methoden, … Sie bestehen aus Buchstaben, Ziffern, _ (Unterstrich) oder $ (Dollarzeichen), dürfen aber nicht mit einer Ziffer anfangen. Groß- und Kleinschreibung wird unterschieden. |
Was ist die Bedeutung von Schlüsselwörtern? | Schlüsselwörter sind reservierte Wörter, die Programmteile bezeichnen und in Java fix definiert sind. Sie dürfen nicht als eigene Namen verwendet werden. |
Welche Arten von Kommentaren sind in Java möglich? | Zeilenkommentar: beginnt mit // und reicht bis zum Ende der Zeile Blockkommentar: begrenzt durch /* … */ und kann sich über mehrere Zeilen erstrecken |
Wozu werden Variablen in Programmen verwendet? | Variablen dienen zur Speicherung von Daten. |
Variable müssen vor der ersten Verwendung deklariert werden. Was wird dabei festgelegt? | Name und Typ |
Was sind binäre und was unäre Operatoren? | Binäre Operatoren sind zweistellig (z. B. Operatoren für Grundrechnungsarten), unäre sind einstellig (z. B. +/- Vorzeichen). |
Wie wird eine Anweisung genannt, die einen Wert in einer Variable speichert? | Zuweisung (assignment) |
Was muss erfüllt sein, damit eine Zuweisung möglich ist? | Typ der linken und rechten Seite ist gleich (oder, bei primitiven Typen, Typ auf der rechten Seite ist weiter links als der Typ auf der linken Seite in der Liste byte -> short -> int -> long -> float -> double) |
Was bedeutet "Initialisierung einer Variablen"? | Variable erhält schon bei Deklaration einen Wert zugewiesen |
Erklären Sie die Begriffe Syntax und Semantik. | Syntax: Regelwerk für den korrekten Aufbau von Programmen oder Programmteilen Semantik gibt die Bedeutung von syntaktisch richtigen Programmteilen an, beschreibt Wirkung bei der Ausführung |
Was ist ein Algorithmus? | schrittweises, präzises Verfahren zur Lösung eines Problems |
Eine if-Anweisung wird auch Verzweigung genannt - warum? | Eine if-Anweisung prüft eine Bedingung. Abhängig davon, ob die Bedingung wahr (true) oder falsch (false) ist, werden verschiedene Anweisungen ausgeführt. |
Eine if-Anweisung enthält eine Bedingung. Welche möglichen Wetre kann die Auswertung der Bedingung ergeben? | true (wahr) oder false (falsch) |
Wozu werden bei einer if-Anweisung die geschwungenen Klammern benötigt? | um einen Anweisungsblock zu kenzeichnen |
Was ist ein Vergleichsoperator und welche Ergebnisse kann ein Vergleich haben? | Vergleichsoperatoren: ==, !=, >, >=, <, <= Ausgabe: nur true oder false |
Aus welchen Teilen besteht eine while-Schleife (neben dem reservierten Wort while)? | Schleifenbedingung und Schleifenrumpf |
Was ist der Unterschied zwischen einner Schleifenbedingung und der Bedingung in einer if-Anweisung? | Solange die Schleifenbedingung wahr ist, wird der Rumpf ausgeführt. Bei einer if-Bedingung wird nur einmal entschieden, welche Anweisung ausgeführt wird. |
Wozu werden Schleifen in Programmen benötigt? | um Anweisungen (eine bestimmte Zahl oft) zu wiederholen |
Wie oft kann der Schleifenrumpf einer while-Schleife ausgeführt werden? | theoretisch unendlich oft, wenn die Bedingung immer "true" ist |
Warum sind Methoden ein wichtiges Konzept bei der Strukturierung von Programmen? | Sie ermöglichen die Aufteilung in kleinere Anweisungsfolgen. |
Was sind wichtige Bestandteile einer Methode? | Methodenkopf (Header) und Methodenrumpf (Body) |
Welche Funktion hat ein Parameter in einer Methode? | Parameter dienen der Übergabe von Werten an die Methode |
Was ist eine Methode mit Rückgabewert? | Methoden können einen Ergebniswert an den aufrufenden Programmteil zurückgeben. |
Wie können Methoden aufgerufen werden und was ist dabei zu beachten? | ohne Rückgabewert: Aufruf als Anweisung, abgeschlossen mit ; mit Rückgabewert: überall einsetzbar, wo ein wert des Typs des Rückgabewerts verwendet werden darf |
Was ist der Unterschied zwischen einer lokalen und einer globalen Variablen? | Globale Variablen werden außerhalb einer Methode deklariert, lokale innerhalb. |
Welche Arten von Fehlern können beim Programmieren vorkommen? | Syntaxfehler (Verstoß gegen die Sprachregeln) Laufzeitfehler (tritt während des Programmlaufs auf) logischer Fehler (Fehler im zugrunde liegenden Algorithmus) |
Was sind primitive Typen in Java? | einfache Werte wie Zahlen, Zeichen oder Wahrheitswerte byte, short, int, long, float, double, char, boolean |
Was ist eine Typkonversion (type cast) und welche Arten davon existieren in Java? | die Umwandlung eines Wertes in einen anderen Typ bei einem Operator mit verschiedenen Operandentypen wird der gemäß Zuweisungkompatibilität "weiter links" stehende Typ in den anderen beteiligten Typ konvertiert. byte -> short -> int -> Long -> float -> double eine Typenkonversion kann auch im Programm (Eyplizite Typenkonversion) festgelegt werden; allgemeine Form: (type) expression |
Was sind geschachtelte if-Anweisungen, was sind Mehrfachverzweigungen? | Eine if-Anweisung ist eine zusammengesetzte Anweisung, d. h. ihre Teile sind auch wieder Anweisungen. Wenn diese Teile wieder if-Anweisungen sind, wird von einer geschachtelten if-Anweisung gesprochen. if-Anweisungen sind beliebig tief verschachtelbar, was zu Mehrfachverzweigungen führt. |
Welche Werte gehören zum Datentyp boolean und wo tritt dieser beispielsweise auf? | Werte: true oder false z. B. Vergleiche, Bedingungen |
Was sind logische Operatoren? | Boolesche Werte können mit logischen Operatoren zu Booleschen Ausdrücken verknüpft werden. logische Operatoren: && (logisches Und) || (logisches Oder) ! (Negation) |
Logische Operatoren arbeiten mit teilweiser Auswertung (lazy Evaluation) - was ist damit gemeint? | Bei einer Verknüpfung mit den logischen Operatoren && und || wird abgebrochen, wenn das Ergebnis schon feststeht. Beispiel: state1 && state2 -> wenn 1 schon false, wird 2 gar nicht erst ausgewertet und Gesamtausdruck ist false |
Welchen Datentyp sieht Java für einzelne Zeichen vor? | char |
Wozu werden ASCII und Unicode verwendet? | Zeichen werden durch Zahlen codiert, es existieren verschiedene Standards: - ASCII (American Standars Code for Information Interchange): 1 Zeichen - 1 Byte - Unicode: 1 Zeichen - 2 Bytes (ASCII ist Teilmenge davon) |
Literale von welchem Typ werden in Java mittels "..." dargestellt? | Strings |
Der Typ String gehört nicht zu den primitiven Typen von Java - was sind die wesentlichen, unterschiedlichen Merkmale? | Stringvariable sind Zeiger (Referenzen) auf Stringobjekte, d. h. Sytringvariablen werden Zeigerwerte und nicht eigentliche Werte zugewiesen. |
Wie lautet die Operation um Strings zusammenzufügen und welcher Operator wird dazu verwendet? | Konkatenation + |
Warum sollen Strings nicht mit dem Vergleichsoperator == verglichen werden und womit sollen sie verglichen werden? | Stringvariable enthalten Zeiger Methode equals s1.equals(s2) vergleicht die Inhalte von s1 und s2 |
Welche String-Operationen sind bekannt? | length-Methode liefert Anzahl der Zeichen des Strings (Ergebnistyp: int) charAt-Methode nennt Zeichen an angegebener Position (Ergebnistyp: char) compareTo-Methode: lexikographischer Vergleich von zwei Strings (Ergebnistyp: int) |
Was sind die wesentlichen Unterschiede zwischen einer switch- und einer if-Anweisung? | switch: Mehrwegverzeigung if: Zweiwegverzweigung |
Wie lautet das Prinzip einer Schleife Allgemein? | Es wird solange wiederholt, bis eine bestimmte Bedingung nicht mehr gültig ist. |
Kann ein Schleifenrumpf auch gar nicht ausgeführt werden? | Ja, z. B. wenn in einer while-Schleife die Bedingung von Anfang an false ist. |
Was ist ein Inkrement-Operator? | Mit dem Inkrement-Operator wird der Wert einer Variable um 1 erhöht. |
Was bedeutet Endlosschleife und wie entsteht diese meistens? | Eine Schleife, die unendlich oft wiederholt wird, da die Bedingung immer wahr (true) ist. |
Wie lauten die drei Teile des Schleifenkopfs einer for-Schleife und was sind ihre jeweiligen Aufgaben/Funktionen? | Der Initialisierungsteil wird vor dem Betreten der Schleife durchgeführt. Die Schleifenbedingung wird jedesmal vor einem neuen Schleifendurchlauf geprüft. Der Inkrementierungsteil wird am Ende jedes Schleifendurchlaufs ausgeführt. |
Was unterscheidet eine for- von einer while-Schleife? | Eine for-Schleife ist eigentlich eine kompakte Form einer while-Schleife. (Also nicht wirklich viel.) |
Wann wird von geschachtelten Schleifen gesprochen? | Wenn sich eine Schleife im Rumpf einer Schleife befindet. |
Was bewirkt eine break-Anweisung in einer Schleife? | beendet eine Schleife |
Was ist ein Array? | Ein Array ist eine "Tabelle" von Elementen eines ganz bestimmten Typs, wobei einzelne Elemente mittels ganzzahliger Indizes angesprochen werden. |
Welche Angaben sind bei der Deklaration einer Array-Variablen nötig? | Typ und Name |
Wie wird ein Array erzeugt? | Bei Deklaration: int[] a = new int[7] Nach Deklaration: a = new int[7] |
Wozu diene Indizes bei einem Array und wie lautet ihr Wertebereich? | Elemente sind ansprechbar über Indizes Wertebereich: ganze Zahlen |
Wie kann die Anzahl der Arrayelemente abgefragt werden? | mit dem Attribut length a.length liefert die Anzahl der Elemente von a |
Ist die Anzahl der Arrayelemente für ein erstelltes Array änderbar? | nein |
Wie funktioniert das "Durchlaufen" eines ganzen Arrays? | z. B. mit einer for-Schleife for (int i = 0; i < a.length; i++) |
Was ist der wesentliche Unterschied zwischen einer Array-Variablen und einer Variablen für einen primitiven Datentyp? | Arrays werden Zeigerwerte zugewiesen |
Was ist ein zweidimensionales Array? | ein Array in einem Array |
Sind auch Arrays mit mehr als zwei Dimensionen möglich? | Ja, Deklaration, Erzeugung und Zugriff verlaufen analog. |
Was ist eine for-each-Schleife und worauf ist bei deren Verwendung zu achten? | Eine for-each-Schleife erlaubt den sequenziellen Durchlauf aller Elemente, beginnend beim ersten. Der Zugriff ist dabei nur lesend. Sie kann nur ein Array durchlaufen (nicht zwei Arrays parallel). |
Was ist die Idee des besprochenen Minimum-Sort-Algorithmus zur Sortierung eines Arrays (von Zahlen)? | 1. Suche im gesamten Array das Minimum und tausche es an Position 0. 2. Suche das Minimum ab Position 1 und tausche es an Position 1. 3. Wiederhole dies mit allen weiteren Positionen bis das Ende des Arrays erreicht ist. |
Auf welchen wesentlichen (Teil-)Operationen beruht der Minimum-Sort? | < (?) |
Was ist ein Parameter in der Kommandozeile? | ??? |
Binäre Suche funktioniert nur unter einer bestimmten Voraussetzung - welcher? | geordnete Werte |
Warum erfordert eine binäre Suche i. A. deutlich weniger Schritte verglichen mit linearer Suche? | Weil der Suchbereich schnell stark verkleinert werden kann. |
Wie werden die in einer Klasse deklarierten Variablen genannt? | Attribute oder Instanzvariablen (instance variables, fields) |
Eine Klasse definiert auch einen Typ - welche praktischen Folgerungen hat dies? | es könne Objekte erzeugt werden (?) |
Was ist die Gemeinsamkeit von Array-Variablen und variablen von Klassentypen? | Sie speichern keine Werte sondern Zeiger auf Objekte. |
Was ist ein Objekt? | Objekte sind Instanzen einer Klasse. |
Was wird in Java benötigt, um ein Objekt zu erzeugen? | Das reservierte Wort new, der Name der Klasse und () |
Wie kann auf Instanzvariablen zugegriffen werden? | mittels Dot-Notation: Variable.Instanzvariable |
Warum sollten i. A. Klassen auch Methoden enthalten? | Daten und "ihre" Operatoren gehören zusammen, sie sollen in einem Sprachkonstrukt definiert werden. |
Welche Arten von Methoden erlaubt Java und wie werden diese unterschieden? | Methoden mit und ohne Rückgabewert mit: Typ des Rückgabewerts statt void vor Methodenname sowie mindestens eine return-Anweisung (sonst wie ohne) |
Können Methoden auf Instanzvariablen der selben Klasse zugreifen? | ja |
Wie können in Java Methoden einer Klasse aufgrufen werden? | M. o. R.: Methodenaufruf mit ; abgeschlossen ergibt eine Anweisung M. m. R.: überall einsetzbar, wo ein Wert des Typs des Rückgabewerts verwendet werden darf |
Wozu dient eine return-Anweisung? | bestimmt den Rückgabewer der Methode und beendet den Methodenaufruf |
Kann eine return-Anweisung auch in einer void-Methode verwendet werden? | ja, beendet aber nur den Methodenaufruf (ist aber nicht zwingend erforderlich) |
Was sind formale, was sind aktuelle Parameter? | Mittels Parametern werden einer Methode vom aufrufenden Programmteil Werte übergeben. Formale Parameter werden im Methodenkopf definiert und sind Variablen für die Methode. Aktuelle Parameter werden beim Methodenaufruf festgelegt und sind spezielle Werte, Variablen oder Ausdrücke. |
Was bedeutet call-by-value im Rahmen einer Parameterübergabe? | formale Parameter enthalten Kopien der Werte der aktuellen Parameter |
Wie werden Variable genannt, die in einem Block deklariert werden? | lokale Variable |
Wie lange existieren Instanzvariable und von wo kann auf sie zugegriffen werden? | Sie existieren für die gesamte Lebensdauer des Objekts und können von Methoden des Objekts (der Klasse) verwendet werden. |
Wozu werden sogenannte Modifikatoren (modiefiers) verwendet? | Sie steuern Zugriffsrechte. private: Zugriff nur innerhalb der Klassendefinition public: freier Zugriff von allen Klassen aus keine Angabe: Zugriff möglich für Objekte von Klassen, die sich im selben Verzeichnis befinden |
Was sagt das Prinzip der Datenkapselung? | Keine Ahnung... |
Wozu wird ein Konstruktor verwendet und wie ist er gekennzeichnet (in Java)? | Erzeugung von Objekten einer Klasse mit "new" |
Was ist ein Default-Konstruktor? | Wird in der Klasse kein Konstruktor definiert, setzt Java automatisch den Default-Konstruktor ein. Er besitzt keine Parameter und führt im wesentlichen keine Anweisungen aus (neben Objekterzeugung). |
Was sind static-Methoden und wie werden sie verwendet? | gehören zu einer Klasse und sind nicht auf ein bestimmtes Objekt bezogen Verwendung ohne Instanziierung einer Klasse, Definition mit reserviertem Wort static, Methodenaufruf mit Klassenname.Bezeichner |
Überladen (overloading) von Methoden ist möglich - was ist damit gemeint? | Methoden mit dem selben Namen in einer Klasse |
In welchem Zusammenhang stehen die Begriffe Ober-, Unterklasse und Vererbung? | Eine Unterklasse erbt Eigenschaften der Oberklasse, kann weitere Eigenschaften hinzufügen und vorhandene Eigenschaften überschreiben. Dieses Konzept wird Vererbung genannt. |
Wann wird von Spezialisierung im Rahmen von Vererbung gesprochen? | Eine Unterklasse ist spezieller als ihre Oberklasse. |
Was bedeutet überschreiben (overriding) von Methoden? | vorhandene Methoden werden semantisch angepasst |
Was ist ein Klassendiagramm? | graphische Darstellung von Klassenhierarchien |
Kann in einer Unterklasse der Konstruktor einer Oberklasse aufgerufen werden? | ja, mittels super (muss die erste Anweisung in der Unterklasse sein) |
Was ist eine weitere Verwendung von super bei Vererbung? | für den Zugriff auf überschriebene Methoden in der Unterklasse |
In Java spielt die Klasse Object eine zentrale Rolle - was ist dabei zu beachten? | Wird keine Klasse angegeben, dann ist Object die direkte Oberklasse. Sie enthält Methoden, die von allen Klassen automatisch geerbt werden. Diese Methoden sind i. A. ohne Änderung nicht nützlich - sie müssen bei Bedarf überschrieben werden. |
Polymorphismus bedeutet "Vielgestaltigkeit" und ist ein wichtiger Aspekt von objektorientierter Programmierung. Welche praktische Bedeutung hat dieser Begriff in Java? | mehrere Typen sind im selben Kontext erlaubt, jedoch mit möglicherweise unterschiedlicher Wirkung |
Kann eine Referenz auf ein Objekt der Oberklasse auch einer Variablen einer Unterklasse zugeordnet werden? | nein |
Wozu wird der instanceof-Operator verwendet? | um zu schauen, ob eine Variable zu einer bestimmten Klasse gehört (?) |
Was bedeutet dynamische Bindung? | Der spezifische Typ des referenzierten Objekts ist erst zur Laufzeit bekannt. Damit kann die entsprechende Ausprägung der Methode auch erst zur Laufzeit ermittelt und mit dem Aufruf verbunden werden. |
Wie kann Rekursion im Zusammenhang mit Programmierung kurz erläutert werden? | Rekursion tritt auf, wenn eine Methode sich selbst aufruft. |
Welche beiden Varianten von Rekursion existieren? | Seien m() und n() zwei Methoden. direkte R.: m() ruft auf m() indirekte R.: m() ruft auf n() ruft auf m() |
Warum kann eine rekursive Lösung zu einem Speicherüberlauf (stack Overflow) führen? | der Basisfall (nicht rekursive Lösung für ein Problem, das "klein genug" ist) wird nicht erreicht |
Wie lautet eine rekursive Lösungsidee für "Türme von Hanoi"? | Es wird angenommen, die Lösung für n-1 Stangen ist bekannt, dann: - löse die Aufgabe für n-1 Scheiben mit dem Ziel zweite Stange - versetze größte Scheibe auf dritte Stange - löse die Aufgabe für n-1 Stangen, wobei der Start die zweite Stange und das Ziel die dritte Stange ist |
Welche Eigenschaften soll eine gute Fehlerbehebung aufweisen? | 1 Tritt ein Fehler auf, soll eine beliebige Methode in der Aufrufkette darauf reagieren. 2 Die Fehlermeldung soll nicht mittels Rückgabewert erfolgen. 3 Möglichst gute Trennung von fehlerfreiem Programmablauf und Fehlerbehandlung. 4 Jeder mögliche Fhler soll von irgendeiner Methode in der Aufrufkette behandelt werden - es darf keiner ignoriert werden. |
Was ist eine Ausnahmebehandlung (exception handling)? | Das Konzept besteht aus... - geschütztem Block: gekennzeichnete Anweisungsfolge; tritt darin (oder in aufgrufenen Methoden) ein Fehler auf, wird sichergestellt, dass er behandelt wird - Ausnahmebehandler: Anwesungsfolge, die im Falle eines Fehler ausgeführt wird (Reaktion auf Fehler) - Ausnahme: signalisiert das Auftreten eines Fehlers - es wird ein passender Ausnahmebehandler gesucht und ausgeführt, dann nach dem entsprechenden try-Block fortgesetzt |
Welche Rolle spielen die Klassen Exception und RunTimeException bei der Ausnahmebehandlung in Java? | Exception ist die Basisklasse der Ausnahmen, RunTimeException eine ihrer Unterklassen. RTE wird vom Java-System (VM) ausgelöst. Ausnahmebehandlung ist nicht erforderlich, dann erfolgt jedoch ein Programmabsturz mit Fehlermeldung. |
Was sind die Bedeutungen von throw und (throws) bei einer Ausnahmebehandlung? | throw-Anweisung bewirkt: - Suche nach einer catch-Klausel mit passendem Ausnahmetyp in allen gerade laufenden Medien - Abbruch der aktuellen Anweisungsfolge und Sprung zur catch-Klausel mit dem Ausnahmeobjekt als Parameter - Abarbeitung der catch-Klausel und anschließender Fortsetzung der dazugehörigen try-Anweisung |
Was sind die Bedeutungen von (throw) und throws bei einer Ausnahmebehandlung? | throws …??? |
Was ist eine abstrakte Klasse? | Abstrakte Klassen enthalten mindestens eine abstrakte Methode, d. h. eine Methode ohne Implementierung (ohne Rumpf). |
Eine abstrakte Klasse definiert einen Typ - welche Bedeutung hat dies? | Variable, Parameter, … können deklariert werden. |
Quer criar seus próprios Flashcards gratuitos com GoConqr? Saiba mais.