Progr 1 Flashcards

1
Q

Was ist ein Datentyp?

A

Definiert die Art der Daten, die in einer variable gespeichert werden können

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was ist eine Variable?

A

Ein Wert, der während der Laufzeit des Programms verändert werden kann

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was macht javac?

A

Menschenlesbaren Quellcode in Maschinensprache zu übersetzen und zu kompilieren und eine Datei der Klasse zu erzeugen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was ist der Sinn von Java?

A

Ein verlässliche Softwarelösung unabhängig von der Plattform zu erstellen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was ist source code?

A

Ein von Menschen lesbarer Code, welcher zum erstellen von Programmen genutzt wird und in einer Programmiersprache geschrieben wird

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was ist der unterschied zwischen Deklaration und Initialisierung?

A

Deklaration: Definiert den Variablentyp
Initialisierung: Weißt einer Variable einen Wert zu

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was berechnet Modulo?

A

Den Rest einer Division

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was ist ein infinite loop?

A

Eine Schleife, welche keine Bedingung hat und nur beendet wird, wenn das Programm gestoppt wird

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was ist die Signatur eine Methode?

A

Die Kombination aus dem Methodennamen und den Parametern der Methode

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was ist ein Parameter?

A

Eine Variable, die an eine Methode übergeben wird, wenn diese aufgerufen wird

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was machen die Keywords Break und Continue?

A

Break: Wird genutzt um die Schleife zu beenden
Continue: Wird genutzt um den Rest der Schleife zu überspringen und geht zum nächsten Iterationsschritt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was ist der unterschied zwischen while und do-while?

A

While: Prüft zuerst eine Bedingung bevor sie ausgeführt wird
do-while: Läuft mindestens einmal durch und prüft am Ende der Schleife die Bedingung

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was ist ein nested loop?

A

Eine Schleife innerhalb einer Schleife

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Was ist ein return statement?

A

Am ende einer Methode wird ein Wert an den Aufrufer zurückgegeben

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was bedeutet void?

A

Das kein Rückgabewert benötigt wird

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was ist overloading in Java?

A

Wenn innerhalb einer Klasse mehrere Methoden mit dem gleichen Namen aber unterschiedlichen Parametern existieren. Somit kann eine Methode den gleichen Namen aber unterschiedliche Verhaltensweisen haben

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Wie wird ein Array in Java deklariert?

A

Int[] myArray;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Wann tritt ArrayIndexOutOfBoundsException auf?

A

Wenn versucht wird auf ein Index eines Arrays zuzugreifen, der Außerhalb des Arrays liegt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Wie kann ein Array in java vergrößert werden?

A

Neues Array erstellen und Daten aus dem ursprünglichen Array in den neuen kopieren. Das neue Array dem ursprünglichen Array zuweisen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Wie werden multidimensionale Arrays implementiert

A

int[][] myArray = new int[2][3];

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Was ist der unterschied zwischen einer Klasse und einem Objekt?

A

Eine Klasse ist eine Art Bauplan, in welchem Eigenschaften und Methoden festgelegt werden können, während ein Objekt eine Instanz einer Klasse ist und die Eigenschaften und Methoden der Klasse annehmen kann. Es können beliebig viele Objekte erstellt werden

22
Q

Wie erstellt man ein Objekt?

A

Mit dem Keyword new: Classname object = new Classname();

23
Q

Was ist ein Konstruktor?

A

Er kann Werte festlegen, welche ein Objekt beim erstellen haben muss. Wird kein neuer Konstruktor erstellt, wird der Standardkonstruktor verwendet

24
Q

Welchen Namen hat der Konstruktor

A

Wie der Klassenname

25
Q

Was bedeutet das Keyword “this”

A

Bezieht sich auf die aktuelle Instanz der Klasse, in der es verwendet wird. Es wird genutzt um zwischen Instanzvariablen und lokalen Variablen zu unterscheiden

26
Q

Wie unterscheiden sich Instanzmethoden von Statischen Methoden?

A

Instanzmethoden benötigen ein Objekt um aufgerufen zu werden und sind dem Objekt zugewiesen und können Eigenschaften und Verhalten des Objektes festlegen
Statische Methoden sind der Klasse direkt zugewiesen und benötigen kein Objekt um aufgerufen zu werden

27
Q

Wenn zwei Variablen auf den selben Speicher zeigen, sind sie identisch, gleich oder beides?

A

Identisch, da sie dem gleichen Speicher zugewiesen sind

28
Q

Wie prüft man die Gleichheit von Objekten?

A

Mit equals();

29
Q

Warum ist eine toString Methode wichtig?

A

Um Information über den Zustand des Objektes zu erhalten und für bessere Lesbarkeit

30
Q

Welche Rolle spielt garbage collection in Java?

A

Ist dafür da, dass nicht benötigter Speicher automatisch freigegeben wird, sodass keine manuelle Speicherverwaltung nötig ist

31
Q

Was ist Vererbung?

A

Eine Funktion, die erlaubt, dass eine subclass von einer superclass erbt, und Attribute und Methoden der superclass nutzen kann. Die subclass kann auch eigene Methoden und Eigenschaften haben. Durch Vererbung wird Redundanz vermieden

32
Q

Wie fördert Vererbung die Wiederverwendbarkeit von Code?

A

Da die erbende Klasse Attribute und Methoden der superclass erbt und diese nutzen kann, wird daruch die Wiederverwendbarkeit gefördert

33
Q

Was für Vererbungen gibt es?

A

Single Level: Eine klasse erbt von einer superclass
Multilevel: Eine subclass erbt von einer anderen subclass
Hierarchical: Mehrere subclasses erben von einer superclass

34
Q

Wozu wird das Keyword extend genutzt?

A

Es wird genutzt um die Vererbungsbeziehung zwischen Klassen herzustellen, wodurch eine Klasse Eigenschaften und Methoden einer anderen Klasse erweitern kann

35
Q

Wozu wird das Keyword super genutzt?

A

Um sich auf Methoden, Variablen und Konstruktor der superclass beziehen zu können und diese aufzurufen

36
Q

Was ist der Unterschied zwischen Is-A und Has-A?

A

Is-A: Eine Klasse erbt von einer anderen Klasse (Hund ist ein Tier)
Has-A: Beschreibt eine Beziehung, in der eine Klasse eine andere Klasse alt Teil enthält (Auto hat einen Motor)

37
Q

Nenne unterschiedliche UML Diagramme

A

Structural und Behavioral

38
Q

Was ist der unterschied zwischen Structural und Behavioral?

A

Structural: Beschreiben Struktur eines Systems mit Klassen, Komponenten und Beziehungen
Behavioral: Modellieren dynamische Aspekte, wie die Komponente interagieren und sich Verhalten

39
Q

Was ist Polymorphie und warum ist es wichtig in OOP

A

Es ermöglicht, dass verschiedene Klassen denselben Methodennamen nutzen können aber unterschiedliche Verhaltensweisen haben, was Flexibilität, Wartbarkeit und Erweiterbarkeit des Codes verbessert

40
Q

Unterschied zwischen Compile-Time Polymorphie und Runtime Polymorphie

A

Compile: Tritt während des Kompilierens auf. Methoden mit gleichem Namen aber unterschiedlichen Parametern in einer Klasse mit dem selben Namen werden Überladen
Runtime: Während der Laufzeit. Wird durch Vererbung ermöglicht, Methoden in unterschiedlichen Klassen mit dem selben Namen werden Überschrieben

41
Q

Was ist der unterschied zwischen Überladen und Überschreiben von Methoden?

A

Überladen: Tritt auf, bei Methoden mit dem selben Namen in der gleichen Klasse, aber unterschiedlichen Parametern
Überschreiben: Tritt auf, bei subclasses, die von einer superclass erben und die Methode bereits in der superclass definiert ist

42
Q

Wie stehen Polymorphie und Vererbung zueinander?

A

Polymorphie erlaubt Objekten von unterschiedlichen Klassen, welche durch Vererbung in Beziehung stehen als Objekte einer superclass behandelt zu werden

43
Q

Wie unterscheiden sich abstrakte Klassen von konkreten Klassen?

A

Abstrakte Klassen können nicht instanziiert werden und können abstrakte Methoden definieren, welche keinen Body haben. Abstrakte Methoden können müssen von der subclass implementiert werden und es können auch vollständige Methoden definiert werden

44
Q

Was ist der Vorteil von Switch ggü if-else?

A

Der Code wird bei einer Vielzahl von Bedingungen besser lesbar und wartbar

45
Q

Wozu wird Break in einem Switch Case eingesetzt?

A

Um den Block nach dem Case zu verlassen

46
Q

Wie wird ein Integer mit der Scanner Klasse eingelesen?

A

Scanner scanner = new Scanner(System.in);
int myInt = scanner.nextInt();
scanner.nextLine();

47
Q

Was ist der Unterschied zwischen Switch und if-else?

A

Beides sind Kontrollstrukturen, um einen bestimmten Code auszuführen. Switch ist kompakter und kann mehrere Code-Pfade ausführen, wenn Break nicht genutzt wird

48
Q

Wofür wird UML eingesetzt?

A

UML steht für Unified Modelling Language und ist ein Klassendiagram. Es wird genutzt um Klassen mit ihren Eigenschaften und Methoden zu beschreiben und die Beziehungen zwischen den Klassen darzustellen

49
Q

Was ist Objektinteraktion?

A

Die Art und Weise, wie Objekte in Java miteinander Interagieren. In Java interagieren die Objekte miteinander, indem sie die Methoden der anderen Objekte nutzen

50
Q

Was ist Vererbung und wie wird es in Java genutzt?

A

Vererbung ist eine Funktion, mit welcher eine subclass Methoden und Eigenschaften einer superclass erben kann. Es wird genutzt um Redundanz zu vermeiden und den Code übersichtlicher zu gestalten. Die subclass kann auch eigene Methoden und Eigenschaften haben

51
Q

Was ist Kapselung?

A

Bezieht sich auf die Bündelung von Daten mit Methoden, die Daten bearbeiten und wird verwendet, um Daten innerhalb der Klasse zu verstecken und unbefugten Zugriff zu verhindern

52
Q

Was ist Modularisierung?

A

Code in unabhängige Module oder Klassen aufzuteilen um Wartbarkeit, Wiederverwendbarkeit und Lesbarkeit des Codes zu verbessern