7 - Methoden Flashcards

1
Q

Was sind Methoden und wozu werden sie verwendet?

A

Methoden sind benannte Code-Blöcke, die über ihren Namen beliebig oft aufgerufen werden können. Sie ermöglichen die Wiederverwendung von Anweisungsfolgen, strukturieren aber auch Programme und machen diese übersichtlicher.

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

Was ist die einfachste Form einer Methode?

A

Die einfachste Form einer Methode ist eine parameterlose Methode. Sie hat keine Parameter (und liefert keinen Wert zurück).

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

Formulierung einer parameterlosen Methode und Aufruf in der main-Methode

A

public static void main(String[] args) {
printStrings();
}
static void printStrings() {
System.out.println(“Hello”);
}

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

Was ist die main-Methode?

A

Die main-Methode ist eine Methode mit einem Array von Strings als Parameter und stellt gleichzeitig das Hauptprogramm dar.

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

Kann eine aufgerufene Methode auch selbst wieder Methoden aufrufen?

A

Ja.

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

Was sind Parameter?

A

Parameter sind Werte, die beim Aufruf an die Methode übergeben werden.

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

Formulierung einer Signatur
->Was ist eine Signatur?

A

static void printMax(int x, int y) {}
Die Signatur ist der Methodenkopf mit Parameterliste. Sie beschreibt, wie die Methode benutzt werden muss.
- static: Methode ist statisch
- void: liefert keinen Wert zurück
- printMax: Name (soll sinnvoll sein)
- (int x, int y): formale Parameter

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

Was sind formale und was sind aktuelle Parameter?

A

Formale Parameter sind jene Parameter, die bei der Deklaration der Methode angegeben werden. Sie werden wie in der Methode deklarierte Variablen behandelt.
Aktuelle Parameter sind jene Parameter, die beim Aufruf der Methode übergeben werden (beliebige Ausdrücke). Bsp.: printMax(a, b)

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

Wie werden primitive Datentypen, wie Referenztypen an Methoden übergeben?

A

Bei der Übergabe von Parametern spielt der Datentyp eine wichtige Rolle:
- primitive Datentypen werden als Kopie übergeben (copy-by-value): int, float, byte,…
- Referenztypen werden als Referenz übergeben (copy-by-reference): Arrays, Klassen, Strings; werden hier Daten in der Methode geändert, ist diese Änderung auch nach dem Methodenaufruf außerhalb der Methode sichtbar (außer Strings, da diese immutable sind).

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

Was sind Prozeduren? Was sind Funktionen?

A

Prozeduren sind Methoden, die keinen Wert zurückliefern. Sie können mit “return;” beendet werden.
Funktionen sind Methoden, die einen Wert zurückliefern. Dieser Wert wird mittels return zurückgegeben, wodurch die Funktion beendet wird (muss immer mit return beendet werden!). Der Rückgabe-Datentyp muss in der Signatur (vor dem Namen) angegeben werden. Bsp.:
static int max(int a, int b) {
int max = …;

return max;
}

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

Ist es erlaubt, in Funktionen/Prozeduren mehrere return-Anweisungen zu verwenden?

A

Ja, somit hat man mehrere Endpunkte.

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

Was ist eine überladene Methode?

A

Wenn es mehrere Methoden mit demselben Namen gibt, die sich in Anzahl der Parameter oder ihren Datentypen unterscheiden (also in ihrer Signatur), spricht man von überladenen Methoden. Die Methoden dürfen sich allerdings nicht nur durch ihren Rückgabetyp unterscheiden.

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

Warum können Methoden Arrays als Übergabeparameter akzeptieren?

A

Das ist sehr hilfreich, wenn man eine variable Anzahl an Werten übergeben möchte (z.B. auch bei main-Methode). Man muss dafür nicht unbedingt ein Array erzeugen, man kann auch “…” hinter den Datentyp hinschreiben und die Methode akzeptiert nun mehrere Werte gleichzeitig. Bsp.: static void printNumbers(int… values) {}
printNumbers(1,2,3,4,5)

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

Wo sind lokale Namen sichtbar?

A

Lokale Namen sind nur innerhalb der Methode, in der sie deklariert wurden, sichtbar - außerhalb nicht. Der Speicherplatz für diese Variablen wird bei jedem Aufruf neu angelegt und nach dem Beenden wieder freigegeben.

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

Wo sind globale Namen sichtbar?

A

Eine Variable ist global sichtbar, wenn sie außerhalb der Methode (auf Klassenebene) deklariert wurde. Der Speicherplatz von globalen Variablen wird bei Programmstart angelegt und erst zu Programmende freigegeben. Änderungen durch eine Methode sind auch nach dem Methodenaufruf noch vorhanden.

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

Die Sichtbarkeit von Variablen ist immer auf den aktuellen Block beschränkt. Was bedeutet das?

A

Variablen, die innerhalb einer Methode, einer if-Anweisung, eines Schleifenrumpfs etc. deklariert wurden, sind außerhalb der Methode, der if-Anweisung, der Schleife etc. nicht sichtbar.