Klausur Flashcards
Was ist ein Java-Compiler und was ist ein Java-Interpreter?
Java Compiler: Übersetzt den im Editor eingetippten Java-Quellcode in Java-Bytecode.
Java Interpreter: führt den Java-Bytecode auf der jeweiligen Rechner-Plattform aus. Hierzu übersetzt der Java-Interpreter den Java-Bytecode in Maschinencode und bringt diesen direkt zur Ausführung.
Was ist java und was ist javac?
Java ist eine objektorientierte Programmiersprache, während “javac” der Java-Compiler ist, der den Java-Quellcode in ausführbaren Bytecode übersetzt
Was ist ein JDK und was ist eine JRE?
Ein JDK (Java Development Kit) und eine JRE (Java Runtime Environment) sind beide Softwarepakete, die von Oracle bereitgestellt werden und für die Entwicklung und Ausführung von Java-Anwendungen verwendet werden.
JDK wird zum Entwickeln von Java-Anwendungen verwendet, während JRE zum Ausführen von Java-Anwendungen benötigt wird.
Warum arbeitet Java mit einem zweistufigen Übersetzungskonzept?
Das zweistufige Übersetzungskonzept von Java ermöglicht die Portabilität der Java-Anwendungen auf verschiedenen Plattformen, indem der Java-Quellcode zunächst in Bytecode (unabhängig der Hardware) und dann zur Laufzeit in Maschinencode übersetzt wird.
Was ist eine Klasse, was ist ein Objekt?
In Java sind Klassen Vorlagen, die beschreiben, welche Eigenschaften und Funktionen Objekte haben können. Objekte sind konkrete Instanzen dieser Klassen, die individuelle Werte für ihre Attribute speichern können. Klassen dienen als Bausteine zur Erzeugung von Objekten.
Was ist ein Datenfeld, was ist eine Methode?
Datenfeld = Variabel. Es speichert die Daten bzw die Eigenschaften die ein Objekt hat.
Eine Methode in Java ist eine Sammlung von Anweisungen, die eine bestimmte Aufgabe ausführt.
Gibt es in Java Programmcode außerhalb einer Klasse?
Nein
In Java muss der Programmcode immer innerhalb einer Klasse platziert sein. Jede Java-Anwendung muss mindestens eine Klasse enthalten, die eine spezielle Methode namens main enthält. Diese main-Methode dient als Einstiegspunkt des Programms und wird beim Start der Anwendung aufgerufen.
Wie sieht die Darstellung einer Klasse in der UML aus?
In der UML (Unified Modeling Language) wird eine Klasse mit einem Rechteck dargestellt. Das Rechteck enthält normalerweise drei Abschnitte:
Oberer Abschnitt: Der oberste Abschnitt des Rechtecks enthält den Namen der Klasse.
Mittlerer Abschnitt: Der mittlere Abschnitt enthält die Attribute oder Eigenschaften der Klasse. Diese werden in der Regel in der Form “Sichtbarkeit + Name: Typ” dargestellt. Die Sichtbarkeit kann entweder öffentlich (+), privat (-) oder geschützt (#) sein.
Unterer Abschnitt: Der untere Abschnitt enthält die Methoden oder Operationen der Klasse. Sie werden ebenfalls in der Form “Sichtbarkeit + Name(parameter): Rückgabetyp” angegeben.
Hier ist ein Beispiel für die Darstellung einer einfachen Klasse “Person” in der UML:
+——————+
Person
+——————+
| - name: String |
| - age: int |
+——————+
| + setName(name: String): void |
| + setAge(age: int): void |
| + getName(): String |
| + getAge(): int |
+——————+
Person |
Wie sieht die Darstellung eines Objektes in der UML aus?
In der UML (Unified Modeling Language) wird ein Objekt durch ein Rechteck mit dem Namen des Objekts dargestellt. Zusätzlich wird der Klassenname des Objekts angegeben, zu dem es gehört, durch eine gestrichelte Linie mit einem Pfeil, der von dem Objekt zur Klasse zeigt.
Hier ist ein Beispiel für die Darstellung eines Objekts “person” der Klasse “Person” in der UML:
+———————–+
person
+———————–+
|———————–|
| Person |
+———————–+
|
Wie wird ein Objekt in Java erzeugt?
Ein Objekt kann in Java nur durch den new-Operator erzeugt werden.
Person person = new Person();
Warum sollten Datenfelder private sein?
Datenversteckung: Durch das Deklarieren von Datenfeldern als private werden sie vor direktem Zugriff von außerhalb der Klasse geschützt. Dadurch wird eine unsachgemäße Manipulation oder Änderung der Daten vermieden. Der Zugriff auf die Daten sollte stattdessen über Getter- und Setter-Methoden kontrolliert und validiert werden
Gibt es auch Datenfelder die public sind?
Ja
Warum sind Methoden typischerweise public?
Methoden werden typischerweise als public deklariert, um den externen Zugriff auf die Funktionalität einer Klasse zu ermöglichen und die Wiederverwendbarkeit des Codes zu fördern. Durch die öffentliche Deklaration können andere Klassen die Methode aufrufen, um bestimmte Aufgaben auszuführen. Es ermöglicht auch die Erweiterbarkeit der Klasse durch Vererbung.
Gibt es auch Methoden, die private sind? Warum?
Private Methoden werden in Java verwendet, um Hilfsfunktionen oder interne Abläufe einer Klasse zu implementieren, die von anderen Klassen oder Objekten nicht aufgerufen werden sollen. Sie dienen der Datenkapselung, verbessern die Codeorganisation und -lesbarkeit, ermöglichen die Wiederverwendbarkeit im Kontext der Klasse und gewährleisten Sicherheit und Integrität.
Wie wird eine Methode zu einem Objekt aufgerufen?
objektname.methodenname(argumente);
person.getName();
Welche besondere Aufgabe hat die Methode main() in einem Java-Programm und warum ist die Methode main() public und static?
Die Methode main() hat die besondere Aufgabe, als Einstiegspunkt des Java-Programms zu dienen. Sie wird automatisch von der JVM aufgerufen, wenn das Programm gestartet wird.
Die Methode main() ist public, damit sie von der JVM aufgerufen werden kann, und static, damit sie unabhängig von einer Objektinstanz aufgerufen werden kann.
Was ist eine Referenzvariable? Wie unterscheiden sich Referenzvariable und Objekt?
Eine Referenzvariable in Java enthält einen Verweis auf ein Objekt, während das Objekt selbst die tatsächlichen Daten und Verhaltensweisen enthält. Die Referenzvariable ermöglicht den Zugriff auf und die Interaktion mit dem Objekt.
so wie p1 die variable für person sein kann
Ordnen Sie die Begriffe Superklasse, Basisklasse, abgeleitete Klasse, Kindklasse, Elternklasse, Subklasse, ableitende Klasse den Klassen Person und Ausleiher zu.
Person: Superklasse, Elternklasse
Ausleiher: Abgeleitete Klasse, Kindklasse, Subklasse
Wie wird eine Vererbungsbeziehung in Java programmiert?
durch das wort extends:
public class Superklasse {
// Code der Superklasse
}
public class Unterklasse extends Superklasse {
// Code der Unterklasse
}
Was ist ein Paket in Java, wie wird es programmiert und warum gibt es Pakete?
Pakete sind eine Gruppierung von Klassen. Es wird durch das Schlüsselwort package in der Datei-Deklaration angegeben. Pakete dienen der Organisation des Codes, der Vermeidung von Namenskonflikten und der Steuerung des Zugriffs auf Klassen. Sie verbessern die Lesbarkeit, Wartbarkeit und Strukturierung von Java-Projekten.
package meinPaket;
public class MeineKlasse {
// Code der Klasse
}
Wie kann man auf Klassen innerhalb von Paketen zugreifen?
Import-Anweisung: Durch die Verwendung von Import-Anweisungen können Klassen aus anderen Paketen direkt referenziert werden. Beispiel: import meinPaket.MeineKlasse;
Vollqualifizierter Klassenname: Alternativ können Sie den vollqualifizierten Namen der Klasse verwenden, der den Paketnamen und den Klassennamen enthält. Beispiel: meinPaket.MeineKlasse obj = new meinPaket.MeineKlasse();
Für Klassen im selben Paket ist kein spezieller Import erforderlich, sie können direkt aufgerufen werden.
Was ist die Java-Klassenbibliothek?
Die Java-Klassenbibliothek, auch als Java API bekannt, ist eine umfangreiche Sammlung vordefinierter Klassen und Schnittstellen in Java. Sie bietet vorgefertigte Funktionen und Dienstprogramme für verschiedene Bereiche.
Warum kann auf die Klasse System aus der Java-Klassenbibliothek in einem Java-Programm zugegriffen werden, ohne eine import-Vereinbarung zu verwenden?
Die Klasse System aus der Java-Klassenbibliothek kann in einem Java-Programm ohne explizite Import-Anweisung verwendet werden, da sie zum Standardpaket java.lang gehört, das automatisch importiert wird. Dadurch ist der Zugriff auf die Klasse System ohne zusätzlichen Import möglich.
Was ist ein Schlüsselwort?
Ein Schlüsselwort in Java ist ein reserviertes Wort mit vordefinierter Bedeutung in der Programmiersprache. Es darf nicht zur Benennung von Variablen, Klassen oder Methoden verwendet werden. Beispiele für Schlüsselwörter sind public, private, class, if, for, while, return usw.
Was sind die Style-Guide-Konventionen für Variablennamen, Datenfeldnamen, Methodennamen, Klassennamen, Schnittstellennamen, Paketnamen und zusammengesetzte Namen?
- Variablennamen, Datenfeldnamen und Methodennamen werden klein geschrieben: vorname oder ausgeben().
− Klassennamen und Schnittstellennamen beginnen mit einem Großbuchstaben gefolgt von Kleinbuchstaben: Person oder Ausgebbar.
− Paketnamen werden klein geschrieben: entitäten.
− Werden Namen für Variablen, Datenfelder, Methoden, Klassen und
Schnittstellen aus mehreren Wörtern zusammengesetzt, so wird der erste Buchstabe des zweiten Wortes groß geschrieben: TestPerson oder getVorname().
Werden Style-Guide-Konventionen vom Compiler geprüft?
Nein
Wie sieht ein Zeilenkommentar, Kommentarblock, Dokumentationskommentar in Java aus?
Ein Zeilenkommentar in Java beginnt mit // und erstreckt sich bis zum Ende der Zeile. Ein Kommentarblock beginnt mit /* und endet mit */ und kann über mehrere Zeilen gehen. Ein Dokumentationskommentar beginnt mit /** und wird für die automatisierte Generierung von API-Dokumentationen verwendet.
Welchen Vorteil bietet der Dokumentationskommentar?
Der Dokumentationskommentar (Javadoc) bietet den Vorteil, automatisch generierte API-Dokumentationen zu erstellen, verbessert die Lesbarkeit und Verständlichkeit des Codes, ermöglicht schnelles Auffinden von Informationen und integriert sich gut in Entwicklungsumgebungen (IDEs).
Erklären Sie den Unterschied zwischen Datentyp und Variable anhand des Datentyps int.
int ist der datentyp x z.b. ist die variable. Der Datentyp legt den Inhalt der Variable fest.
Welche Typen sind durch die Programmiersprache Java vorgegeben und von welchen Typen kann ein Programmierer selbst Datentypen definieren?
Die Programmiersprache Java stellt eine Reihe von vordefinierten (primitiven) Datentypen zur Verfügung. Diese umfassen:
Ganzzahlige Typen: byte, short, int, long
Gleitkommazahlen-Typen: float, double
Zeichentyp: char
Boolescher Typ: boolean
Durch Klassen kann der Programmierer selbst Datentypen festlegen.
Von einfachen Datentypen kann man Variable anlegen, von Referenztypen kann man Variable und Objekte anlegen. Was ist die Variable (Referenzvariable) beim Referenztyp?
Kann eine Referenzvariable auf unterschiedliche Objekte zeigen?
Auf Objekte welchen Typs kann eine Referenzvariable zeigen?
Wie werden ein Array von einfachen Datentypen und ein Array von Referenztypen in Java angelegt?
Wie kann man einem Array-Feld einen Wert zuweisen?
int[] numbers = new int[5];
numbers[0] = 10; // Wert 10 dem ersten Element im Array zuweisen
numbers[1] = 20; // Wert 20 dem zweiten Element im Array zuweisen
numbers[2] = 30;
Was ist der Unterschied zwischen den Datentypen int und Integer? Welchen Datentyp verwenden Sie, wenn Sie Berechnungen durchführen wollen? Warum?
Wenn Sie Berechnungen durchführen möchten, verwenden Sie den primitiven Datentyp int, da er effizienter ist. Verwenden Sie die Integer-Wrapper-Klasse, wenn Sie zusätzliche Funktionen benötigen oder mit Sammlungen arbeiten.
Von einfachen Datentypen kann man Variable anlegen, von Referenztypen kann man Variable und Objekte anlegen. Was ist die Variable (Referenzvariable) beim Referenztyp?
Bei Referenztypen in Java bezieht sich die Variable, die für den Referenztyp deklariert ist, auf ein Objekt im Speicher. Diese Variable wird auch als Referenzvariable bezeichnet, da sie die Adresse oder den Verweis auf das tatsächliche Objekt enthält.
Im Gegensatz zu primitiven Datentypen, bei denen die Variable den tatsächlichen Wert enthält, enthält eine Referenzvariable den Verweis auf den Speicherort des Objekts. Das Objekt selbst wird an einem anderen Ort im Speicher erstellt und kann über die Referenzvariable erreicht und manipuliert werden.
Mit einer Referenzvariable können Sie auf die Methoden und Eigenschaften des Objekts zugreifen und diese ändern. Es ist wichtig zu beachten, dass die Referenzvariable nicht das eigentliche Objekt ist, sondern nur auf dieses verweist.
Kann eine Referenzvariable auf unterschiedliche Objekte zeigen?
Ja, eine Referenzvariable in Java kann während der Laufzeit auf unterschiedliche Objekte zeigen. Das bedeutet, dass Sie den Wert einer Referenzvariable ändern können, um auf ein anderes Objekt zu verweisen.
Auf Objekte welchen Typs kann eine Referenzvariable zeigen?
Eine Referenzvariable in Java kann auf Objekte des gleichen Typs oder auf Objekte einer beliebigen Untertyp-Hierarchie zeigen.
Wenn eine Klasse von einer anderen Klasse erbt (Superklasse - Unterklassen-Beziehung), kann eine Referenzvariable des Superklassentyps verwendet werden, um Objekte sowohl der Superklasse als auch der Unterklassen zu referenzieren.
Wie werden ein Array von einfachen Datentypen und ein Array von Referenztypen in Java angelegt?
einfacher Datentyp:
<Datentyp>[] <Arrayname> = new <Datentyp>[<Größe>];
Beispiel:
int[] numbers = new int[5];
Referenztypen:
<Klassentyp>[] <Arrayname> = new <Klassentyp>[<Größe>];
Beispiel:
String[] names = new String[3];
</Größe></Klassentyp></Arrayname></Klassentyp></Größe></Datentyp></Arrayname></Datentyp>
Was ist eine Selektion und welche Ausprägungen der Selektion gibt es in Java?
In der Programmierung bezieht sich die Selektion auf die Möglichkeit, Entscheidungen in einem Programm zu treffen und unterschiedliche Aktionen basierend auf bestimmten Bedingungen auszuführen:
if-else/if/if-else/if
switch
Was ist eine Iteration und welche Ausprägungen der Iteration gibt es in Java?
In der Programmierung bezieht sich die Iteration auf die wiederholte Ausführung eines Codeblocks, um eine bestimmte Aufgabe zu erfüllen.
for schleife
while schleife
do while schleife
for each schleife
Die Variable a soll den Wert 1 haben, welchen Wert hat b nach der Zuweisung: b = a++; und welchen Wert hat b nach der Zuweisung b = –a;?
1, 0
Wissen Sie, wie man in Java über die Felder eines Arrays mit Hilfe einer for-Schleife und mit Hilfe einer for-each-Schleife iteriert?
for-Schleife:
int[] array = {1, 2, 3, 4, 5};
for (int i = 0; i < array.length; i++) {
int element = array[i];
// Code, der mit dem Element des Arrays arbeitet
}
for-each-Schleife:
int[] array = {1, 2, 3, 4, 5};
for (int element : array) {
// Code, der mit dem Element des Arrays arbeitet
}
Was ist ein formaler Übergabeparameter?
public void sayHello(String name) {
System.out.println(“Hello, “ + name + “!”);
}
In diesem Beispiel ist name ein formaler Übergabeparameter vom Typ String. Wenn die Methode sayHello aufgerufen wird, wird ein Wert vom Typ String an den Parameter name übergeben. Innerhalb der Methode kann auf den Wert des Parameters name zugegriffen und damit gearbeitet werden.