for-Schlei­fe

Lese­zeit: 3 Minu­ten

Die for-Schlei­fe ist eine Kon­troll­struk­tur, die eine oder meh­re­re Anwei­sun­gen mit einer bestimm­ten Anzahl von Wie­der­ho­lun­gen ausführt.

Sie hat die Form:
Von (Start­wert = Wert; Start­wert klei­ner oder gleich End­wert; Schrittweite)

for (int i = 0; i < 10; i++)
{
// Anwei­sung
}

Begin­ne mit dem Start­wert 0, füh­re die Befeh­le solan­ge aus, bis der Wert 9 (= <10) erreicht ist. Die Schritt­wei­te beträgt 1.
In die­se Schlei­fe wer­den nun die Anwei­sun­gen gepackt, die solan­ge aus­ge­führt wer­den, bis i den Wert 9 erreicht hat.

Das Schau­bild ver­deut­licht den Ablauf der for-Schleife:

Bei­spiel:

void setup()
{
  Serial.begin(9600);

  // auf serielle Verbindung warten
  while (!Serial) {;}
  delay(500);

  for (int i = 0; i < 10; i++)
  {
    Serial.println(i);
  }
}

void loop()
{
  // bleibt leer, Programm läuft nur einmal
}

Eine for-Schlei­fe kann auch rück­wärts laufen (--):

void setup()
{
  Serial.begin(9600);

  // auf serielle Verbindung warten
  while (!Serial) {;}
  delay(500);

  for (int i = 10; i > 0; i--)
  {
    Serial.println(i);
  }
}

void loop()
{
  // bleibt leer, Programm läuft nur einmal
}

Die Schritt­wei­te lässt sich einstellen:

void setup()
{
  Serial.begin(9600);

  // auf serielle Verbindung warten
  while (!Serial) {;}
  delay(500);

  // Schrittweite +10 
  Serial.println("Schrittweite +10");
  for (int i = 0; i < 100; i+=10) 
  { 
    Serial.println(i); 
  }

  // Schrittweite -5 
  Serial.println("Schrittweite -5");
  for (int i = 20; i > 0; i-=5) 
  { 
    Serial.println(i); 
  }
}

void loop()
{
  // bleibt leer, Programm läuft nur einmal
}

for-Schlei­fen kön­nen mit dem Schlüs­sel­wort break been­det werden:

Bei­spiel: die for-Schlei­fe wird nach dem Wert 5 beendet.

void setup()
{
  Serial.begin(9600);

  // auf serielle Verbindung warten
  while (!Serial) {;}
  delay(500);

  for (int i = 0; i < 10; i++)
  {
    Serial.println("Zahl " + String(i));
    if (i == 5)
    {
      Serial.println("Schleife wird nach " + String(i) + " beendet!");
      break;
    }
  }
}

void loop()
{
  // bleibt leer, Programm läuft nur einmal
}

   while   while Variable Varia­ble Operatoren Operatoren

Letzte Aktualisierung: 30. Jul 2023 @ 9:39