Schleife (Informatik): Unterschied zwischen den Versionen

Aus SibiWiki
Zur Navigation springen Zur Suche springen
 
Zeile 16: Zeile 16:
'''Beispiel 1:'''
'''Beispiel 1:'''
Der folgende Code gibt die Zahlen von 0 bis 99 aus:
Der folgende Code gibt die Zahlen von 0 bis 99 aus:
<code>
<code>
  int i=0;
  int i=0;
  '''while'''(i<100)
  '''while'''(i<100)
Zeile 23: Zeile 23:
     i = i+1;
     i = i+1;
  }
  }
</code>
</code>


'''Beispiel 2:'''
'''Beispiel 2:'''
Kara geht im Uhrzeigersinn um einen Wald:
Kara geht im Uhrzeigersinn um einen Wald:
<code>
<code>
  '''while'''(!kara.onLeaf())
  '''while'''(!kara.onLeaf())
  {
  {
Zeile 44: Zeile 44:
     kara.move();
     kara.move();
  }
  }
</code>
</code>


'''Wichtig''':
'''Wichtig''':
Zeile 61: Zeile 61:
'''Syntax:'''
'''Syntax:'''
Der folgende Code gibt die Zahlen von 0 bis 99 aus:
Der folgende Code gibt die Zahlen von 0 bis 99 aus:
<code>
<code>
  int i=0;
  int i=0;
  do  
  do  
Zeile 69: Zeile 69:
  }  
  }  
  while (i<100);
  while (i<100);
</code>
</code>


=== for-Schleife ===
=== for-Schleife ===
<code>for</code>-Schleifen sind '''Zählschleifen'''. Sie werden verwendet, wenn etwas '''n-mal (z.B. 100-mal)''' wiederholt werden soll.
<code>for</code>-Schleifen sind '''Zählschleifen'''. Sie werden verwendet, wenn etwas '''n-mal (z.B. 100-mal)''' wiederholt werden soll.


'''Beispiel 1:'''
'''Beispiel 1:'''
Der folgende Code gibt die Zahlen von 0 bis 99 aus:
Der folgende Code gibt die Zahlen von 0 bis 99 aus:
<code>
<code>
  for(int i=0; i<100; i++)
  for(int i=0; i<100; i++)
  {
  {
     System.out.println(i);
     System.out.println(i);
  }
  }
</code>
</code>


'''Erläuterung:'''
'''Erläuterung:'''
Zeile 100: Zeile 100:
'''Syntax:'''
'''Syntax:'''
Der folgende Code gibt alle Namen aus <code>namenVector</code> aus:
Der folgende Code gibt alle Namen aus <code>namenVector</code> aus:
<code>
<code>
   Vector<String> namenVector;
   Vector<String> namenVector;
   // TODO: namenVector füllen!
   // TODO: namenVector füllen!
Zeile 106: Zeile 106:
       System.out.println(aktuellerName);               
       System.out.println(aktuellerName);               
   }
   }
</code>
</code>

Aktuelle Version vom 23. Januar 2022, 17:58 Uhr


TODO: Beschreibung

Arten

man unterscheidet zwischen folgende Schleifen-arten:

  1. while-Schleife
  2. do-While-Schleife
  3. for-Schleife
  4. foreach-Schleife

while-Schleife

Falls die while-Bedingung erfüllt sind wird die Schleife durchgelaufen und dann die while-Bedingung erneut geprüft. Wenn die while-Bedingung nicht mehr erfüllt ist, bricht die Schleife ab.

Beispiel 1: Der folgende Code gibt die Zahlen von 0 bis 99 aus:


int i=0;
while(i<100)
{
   System.out.println(i);
   i = i+1;
}

Beispiel 2: Kara geht im Uhrzeigersinn um einen Wald:


while(!kara.onLeaf())
{
   if(!kara.treeRight())
   {
      kara.turnRight();
   }
   if(kara.treeFront())
   {
      kara.turnLeft();
       if(kara.treeFront())
      {
         kara.turnLeft();
      }
   }
   kara.move();
}

Wichtig: In der Schleife muss etwas verändert werden, damit die while-Bedingung irgendwann einmal erfüllt ist!


Best practice: Die Veränderung sollte immer als Letztes in der Schleife gemacht werden!

In Beispiel 1 ist die Veränderung i = i + 1
In Beispiel 2 ist die Veränderung, dass Kara einen Schritt weitergeht.

do-while-Schleife

TODO: Beschreibung

Syntax: Der folgende Code gibt die Zahlen von 0 bis 99 aus:


int i=0;
do 
{
   System.out.println(i);
   i++;
} 
while (i<100);

for-Schleife

for-Schleifen sind Zählschleifen. Sie werden verwendet, wenn etwas n-mal (z.B. 100-mal) wiederholt werden soll.

Beispiel 1: Der folgende Code gibt die Zahlen von 0 bis 99 aus:


for(int i=0; i<100; i++)
{
   System.out.println(i);
}

Erläuterung: Die for- Schleife hat in der Klammer immer drei Teile, die durch Semikolons (;) getrennt werden.

  1. im ersten Teil wird eine Zählvariable deklariert und mit einem Startwert initalisiert.
    Im Beispiel wird i deklariert und auf 0 gesetzt.
  2. im zweiten Teil wird eine Bedingung festgelegt: Solange die Bedingung erfüllt ist, läuft die Schleife.
    Im Beispiel läuft die Schleife so lange, wie i kleiner als 100 ist.
  3. im dritten Teil wird die Veränderung festgelegt: Nach jedem Schleifendurchlauf wird die Veränderung durchgeführt.
    Im Beispiel wird i um 1 erhöht.

foreach-Schleife

TODO: Beschreibung

Nicht zentralabitur-relevant

Flussdiagramm einer for-each-Schleife


Syntax: Der folgende Code gibt alle Namen aus namenVector aus:


 Vector<String> namenVector;
 // TODO: namenVector füllen!
 for (String akutellerName : namenVector ) {
     System.out.println(aktuellerName);               
 }