So schreiben Sie eine for-Schleife in Java
Schleifen sind sehr leistungsfähige Programmierwerkzeuge, die eine Reihe von Anweisungen ausführen, bis eine Bedingung erfüllt ist. Sie sind sehr praktisch und sollten eines der ersten Programmierkonzepte sein, die Sie lernen. Es gibt viele verschiedene Arten von Schleifen, aber für Schleifen sind wohl eine der nützlichsten Schleifen.
Die For-Schleife in Java
For-Schleifen führen weiterhin einen Codeblock aus, bis eine Bedingung erfüllt ist. Es ist wichtig zu beachten, dass eine for-Schleife die Bedingung am Anfang der Schleife und nicht am Ende überprüft. Dies bedeutet, dass die Schleife nicht gestartet wird, wenn die Bedingung erfüllt ist.
Die Syntax der Schleife ist in allen Programmiersprachen ähnlich. Wenn Sie also eine for-Schleife in einer anderen Programmiersprache erstellt haben, kommt Ihnen eine Java for-Schleife bekannt vor. Wenn Sie jedoch mit Java überhaupt nicht vertraut sind, wird empfohlen, dass Sie ein Anfänger-Tutorial lesen, bevor Sie fortgeschrittene Themen wie for-Schleifen lernen.
for([statement1]; [condition]; [statement2]){
//code to execute each loop
}
Das Schlüsselwort für gibt eine for-Schleife an. Die Bedingung, die bestimmt, wie lange die Schleife fortgesetzt wird, befindet sich zwischen den Klammern. Die erste Anweisung wird einmal ausgeführt, wenn die for-Schleife initiiert wird. Die Bedingung definiert, wann die Schleife gestoppt werden soll. Die zweite Anweisung wird am Ende jeder Schleife ausgeführt. Semikolons markieren das Ende von Anweisung1 und die Bedingung. In der Regel werden die Anweisungen verwendet, um einen Zähler zu erstellen, und die Bedingung stoppt die Schleife, sobald der Zähler eine bestimmte Zahl erreicht. Schließlich wird der Code, der in jeder Schleife ausgeführt wird, zwischen die geschweiften Klammern gesetzt.
public class Main{
public static void main(String[] args) {
for(int i = 1; i < 4; i++){
System.out.print(i);
}
}
}
//Output: 123
Im obigen Beispiel gibt die for-Schleife den Wert von i aus . Das Schlüsselwort für initialisiert die Schleife. Die Variable i wird anfänglich auf 1 gesetzt. Die Bedingung prüft, ob i vier oder größer ist. Dies ist nicht der Fall, daher wird unsere Schleife ausgeführt. Der Schleifencode druckt den Wert von i aus , der zu diesem Zeitpunkt noch 1 ist. Sobald der Schleifencode abgeschlossen ist, wird i um eins erhöht und die Schleife beginnt erneut. Am Ende der dritten Schleife wird i auf vier erhöht. Wenn die nächste Schleife beginnt, ist unsere Bedingung erfüllt, sodass die Schleife stoppt.
Verschachtelt für Schleife
Sobald Sie den Dreh raus haben, sollten Sie versuchen, eine verschachtelte for-Schleife zu erstellen. Dies ist der Fall, wenn Sie eine for-Schleife in einer anderen for-Schleife haben. Dies ist eine fortgeschrittene Technik, da es schwierig sein kann zu verstehen, wie die beiden Schleifen interagieren. Eine gute Möglichkeit, die Funktionsweise von verschachtelten for-Schleifen zu visualisieren, besteht darin, das folgende Muster mit einer verschachtelten for-Schleife zu erstellen.
*
**
***
Um dies zu erstellen, benötigen wir eine Schleife, um zu steuern, wie viele Sterne auf jeder Zeile gedruckt werden, und eine weitere Schleife, um zu steuern, wie viele Zeilen erstellt werden sollen. Wenn Sie noch keine Erfahrung mit verschachtelten for-Schleifen haben, kann es schwierig sein, festzustellen, welche Schleife die innere Schleife ist. In diesem Fall ist die Schleife, die die Sterne druckt, die innere Schleife. Diese Schleife muss jedes Mal ausgeführt werden, wenn eine neue Zeile erstellt wird.
Seien Sie beim Erstellen einer verschachtelten Schleife vorsichtig, wenn Sie den Namen Ihrer Zählervariablen auswählen. Obwohl Programmierer häufig einen generischen i- Zähler verwenden, wird die Verwendung generischer Zähler verwirrend, wenn mehrere Schleifen interagieren.
for(int lineCounter = 1; lineCounter < 4; lineCounter++){
for(int starCounter = 1; starCounter <= lineCounter; starCounter++){
System.out.print("*");
}
System.out.print("n");
}
Lassen Sie uns dieses Beispiel durchgehen, um besser zu verstehen, wie es funktioniert. Unsere erste Schleife zählt, wie viele Zeilen wir machen. Nachdem die Schleife dreimal ausgeführt wurde, wird sie gestoppt. Die nächste Schleife ist etwas komplexer. Diese Schleife steuert, wie viele Sterne in jeder Zeile gedruckt werden. In unserem Muster wollen wir die gleiche Anzahl von Sternen wie die Zeilennummer. Die erste Zeile hat einen Stern, die zweiten zwei und die dritten drei. Wir möchten also, dass diese Schleife so viele Sterne druckt wie unser aktueller Zeilenzähler. Nachdem unsere Sternschleife abgeschlossen ist, erstellt die Linienschleife eine neue Linie, indem n gedruckt wird. Dies ist der Befehl für eine neue Linie.
Endlosschleifen
Eine der Gefahren beim Codieren eines Schleifentyps besteht darin, dass Sie versehentlich eine Endlosschleife erstellen können. Dies sind Schleifen, die niemals aufhören. Obwohl es Fälle gibt, in denen eine Endlosschleife benötigt wird, werden sie im Allgemeinen versehentlich erstellt, wenn der Zustand der Schleife nicht sorgfältig geplant ist. In diesen Fällen wird das Programm so lange ausgeführt, bis Sie das Schließen erzwingen.
Um eine Endlosschleife zu erstellen, können Sie die folgende Syntax verwenden:
for(;;){
//code that never stops looping
}
Verwenden einer For-Schleife mit einem Array
Eine übliche Methode zur Verwendung einer for-Schleife besteht darin, ein Array zu durchlaufen. Wenn Sie beispielsweise alle Zeichenfolgen in einem Array drucken möchten, können Sie dies nicht einfach sagen
System.out.print([array]);
Dieser Befehl gibt Informationen über das Array aus, nicht den Inhalt des Arrays. Um den Inhalt des Arrays zu drucken, müssen Sie jedes einzelne Element im Array drucken. Das Codieren wäre zeitaufwändig, aber Sie könnten eine for-Schleife erstellen, um jedes Element zu durchlaufen.
String[] words = {"Hello", " ", "World", "!"};
for(int i = 0; i < words.length; i ++){
System.out.print(words[i]);
}
Denken Sie daran, dass die Array-Positionen bei Null beginnen und nicht bei Eins. Daher möchten wir, dass unsere Schleife bei Null beginnt. Unsere erste Schleife gibt Hallo aus , die zweite Schleife gibt ein Leerzeichen aus und so weiter. Nach der vierten Schleife wird unser Zähler auf vier erhöht, was nicht weniger als die Länge des Arrays ist, die ebenfalls vier beträgt. Dadurch wird die Schleife gestoppt.
Ausgabe:
Hello World!
Für jede Schleife
Obwohl Sie eine for-Schleife verwenden können, um über ein Array zu iterieren, ist es einfacher, eine for-each-Schleife zu verwenden. Diese Schleifen wurden speziell für Arrays entwickelt. A für jede Schleife durchläuft jedes Element in einem Array und führt Code aus. For-each-Schleifen haben eine etwas andere Syntax. Das Schlüsselwort für wird weiterhin verwendet, es wird jedoch keine Bedingung angegeben.
for([dataType] [arrayElement] : [array]){
//code to be executed
}
Unser vorheriges Beispiel kann mit dieser Syntax als for-each-Schleife neu geschrieben werden:
String[] words = {"Hello", " ", "World", "!"};
for(String word : words){
System.out.print(word);
}
Die Schleife wird mit dem Schlüsselwort für gestartet. Wir geben dann an, dass die Daten in unserem Array Zeichenfolgen sind. Als Nächstes wählen wir einen Variablennamen aus, der auf die Elemente im Array verweist, während wir die Schleife durchlaufen. In diesem Fall haben wir Wort verwendet . Darauf folgt ein Doppelpunkt und der Name des Arrays, das wir durchlaufen möchten. In unserer Schleife müssen wir nur noch das variable Wort verwenden , um auf jedes Element im Array zu verweisen.
Wann wird eine For-Schleife verwendet?
For Loops sind großartige Tools, mit denen Sie viel Codierung sparen können. Sie sind die beste Art von Schleife, wenn Sie genau wissen, wie oft Ihre Schleife ausgeführt werden soll. Sie können die Komplexität von for-Schleifen sogar erhöhen, indem Sie sie verschachteln. Verschachtelte for-Schleifen sind besonders praktisch, wenn Sie mit mehrdimensionalen Arrays arbeiten. For-Loops sind leicht zu erlernen und eine wichtige Fähigkeit für Anfänger. Diese Technik erspart Ihnen sicher das Codieren unnötigen sich wiederholenden Codes.