Sem I (Program I) - N2 Flashcards
Kann man while-Schleifen schachteln?
JA
int i = 0; while (i < 3) { int j = 0; while (j < 3) { System.out.println("i: " + i + ", j: " + j); j++; } i++; }
Was bewirkt die break-Anweisung in einer for-Schleife?
In einer for-Schleife bewirkt die break-Anweisung, dass die Schleife sofort verlassen wird, unabhängig von der aktuellen Iteration.
for (int i = 0; i < 10; i++) { System.out.println(i); if (i == 5) { break; // Schleife wird verlassen, wenn i gleich 5 ist } }
Was ist der Unterschied zwischen break und continue?
break:
1) Die break-Anweisung wird verwendet, um eine Schleife vorzeitig zu beenden.
2) Wenn break innerhalb einer Schleife aufgerufen wird, wird die Schleife sofort verlassen, und die Steuerung wird an die Anweisung nach der Schleife übergeben.
3) break wird häufig verwendet, um eine Schleife zu beenden, wenn eine bestimmte Bedingung erfüllt ist, oder um eine Endlosschleife zu verlassen.
continue:
1) Die continue-Anweisung wird verwendet, um den aktuellen Schleifendurchlauf zu beenden und mit dem nächsten Durchlauf fortzufahren.
2) Wenn continue innerhalb einer Schleife aufgerufen wird, wird der restliche Code innerhalb des Schleifenkörpers für den aktuellen Schleifendurchlauf übersprungen, und die Steuerung wird zurück an den Anfang der Schleife gegeben, um mit dem nächsten Durchlauf fortzufahren.
3) continue wird typischerweise verwendet, um bestimmte Iterationen einer Schleife zu überspringen, basierend auf einer Bedingung.
Wird eine Methode bei der Programmausführung immer bis zur schließenden geschweiften Klammer } abgearbeitet?
Nein, eine Methode wird nicht zwangsläufig bis zur schließenden geschweiften Klammer } abgearbeitet. Die Ausführung einer Methode endet normalerweise, wenn entweder die letzte Anweisung in der Methode ausgeführt wurde oder eine return-Anweisung erreicht wurde, je nachdem, was zuerst eintritt.
Wo fängt Java die Abarbeitung eines Programms an?
In Java beginnt die Abarbeitung eines Programms in der Regel in der main-Methode der sogenannten Hauptklasse.
Wo kann eine Methode aufgerufen werden?
- Innerhalb derselben Klasse:
- Innerhalb einer anderen Klasse im selben Paket:
- In Unterklassen (bei Vererbung):
- Über einen Objektverweis:
- Innerhalb von statischen Methoden:
-
Aus anderen Paketen, wenn die Methode als
public
deklariert ist:
Was ist der Unterschied zwischen einem formalen und einem aktuellen Parameter einer Methode?
Formale Parameter sind Platzhalter in der Methodendefinition, während aktuelle Parameter die tatsächlichen Werte sind, die beim Methodenaufruf übergeben werden.
Was steht im Methoden-Kopf?(JAVA)
Im Methoden-Kopf stehen verschiedene Elemente, die die Signatur der Methode definieren. Die Signatur einer Methode enthält den Rückgabetyp, Methodennamen und die Parameterliste.
Was bedeutet Iterativer Algorithmus?
Algorithmus heißt iterativ, wenn Abschnitte des Algorithmus innerhalb einer einzigen Ausführung mehrfach durchlaufen werden.
Was ist Euklidischer Algorithmus?
Effizientes Verfahren zur Bestimmung des größten gemeinsamen Teilers (GGT) von zwei ganzen Zahlen.
Rekursion vs. Iteration
- rekursive Methode speicherintensiver als iterative
- Performance: rekursive Methode langsamer als iterative
-
jede rekursive Methode kann in eine iterative umgewandelt werden (übrigens: es gilt auch umgekehrt)
===> iterative Methode meist komplexer als rekursive und oft schwerer zu verstehen
Was ist ein Stack?
Verwendet wird, um die Reihenfolge der Aufrufe von Methoden und die entsprechenden lokalen Variablen zu verwalten.
Spielt eine wichtige Rolle bei der Verwaltung des Methodenaufruf- und Ausführungsflusses in Java-Anwendungen.
Was ist ein Methodenstack?
Spielt eine wichtige Rolle bei der Verwaltung des Methodenaufruf- und Ausführungsflusses in Java-Anwendungen. Wenn der Methodenstack voll ist, kann eine StackOverflowError auftreten, und wenn er leer ist, wird die Ausführung des Programms beendet.
Was ist eine Methodeninstanz?
In Java gibt es keine “Methodeninstanz” im eigentlichen Sinne. Stattdessen werden Methoden als Teil von Klassen definiert und können aufgerufen werden, indem man Instanzen dieser Klassen erzeugt und auf sie zugreift.
Was ist ein rekursiver Algorithmus?
Ein rekursiver Algorithmus ist ein Algorithmus, der zur Lösung eines Problems eine Funktion aufruft, die sich selbst aufruft.
Kann man eine rekursive Methode immer mit einer iterativen ersetzen?
JA
Was passiert bei Rekursion ohne Abbruchsbedingung?
Wenn eine rekursive Funktion ohne eine korrekte Abbruchsbedingung oder Basisfall aufgerufen wird, führt dies in der Regel zu einer Endlosschleife oder einem sogenannten rekursiven Absturz. In einem rekursiven Algorithmus ist die Abbruchsbedingung entscheidend, um zu verhindern, dass der rekursive Prozess unendlich weiterläuft.
Was passiert bei Iteration ohne Abbruchsbedingung?
Wenn eine Iteration ohne eine Abbruchsbedingung auftritt,führt dies zu einer Endlosschleife, bei der die Schleife unendlich weiterläuft und niemals terminiert. In einer solchen Situation wird die Ausführung des Programms blockiert und es kommt zu einer sogenannten Endlosschleife, die den Programmfluss nicht mehr verlassen kann.
Im Gegensatz zur Rekursion, bei der eine fehlende Abbruchsbedingung oft zu einem Stapelüberlauf (Stack Overflow) führt, führt eine fehlende Abbruchsbedingung in einer Iteration zu einer endlosen Wiederholung der Schleife, was die Ausführung des Programms blockiert.
How to convert sting in to chararray using Java?
str.toCharArray()
How would you iterate over an array using for loop and Java?
String str = "Hello, Baeldung!"; for (char c : str.toCharArray()) { System.out.print(c); }