Schleife (Informatik): Unterschied zwischen den Versionen
(10 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 9: | Zeile 9: | ||
# do-While-Schleife | # do-While-Schleife | ||
# for-Schleife | # for-Schleife | ||
# foreach-Schleife | |||
=== while-Schleife === | === while-Schleife === | ||
Falls die | Falls die <code>while</code>-Bedingung erfüllt sind wird die Schleife durchgelaufen und dann die <code>while</code>-Bedingung erneut geprüft. Wenn die <code>while</code>-Bedingung nicht mehr erfüllt ist, bricht die Schleife ab. | ||
'''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) | ||
{ | { | ||
System.out.println(i); | System.out.println(i); | ||
i+ | i = i+1; | ||
} | |||
</code> | |||
'''Beispiel 2:''' | |||
Kara geht im Uhrzeigersinn um einen Wald: | |||
<code> | |||
'''while'''(!kara.onLeaf()) | |||
{ | |||
if(!kara.treeRight()) | |||
{ | |||
kara.turnRight(); | |||
} | |||
if(kara.treeFront()) | |||
{ | |||
kara.turnLeft(); | |||
if(kara.treeFront()) | |||
{ | |||
kara.turnLeft(); | |||
} | |||
} | |||
kara.move(); | |||
} | } | ||
</code> | </code> | ||
'''Wichtig''': | |||
In der Schleife muss etwas '''verändert''' werden, damit die <code>while</code>-Bedingung irgendwann einmal erfüllt ist! | |||
'''Best practice: ''' | '''Best practice: ''' | ||
Die Veränderung | Die '''Veränderung''' sollte immer '''als Letztes''' in der Schleife gemacht werden! | ||
In Beispiel 1 ist die Veränderung <code>i = i + 1</code><br> | |||
In Beispiel 2 ist die Veränderung, dass Kara einen Schritt weitergeht. | |||
=== do-while-Schleife === | === do-while-Schleife === | ||
TODO: Beschreibung | TODO: Beschreibung | ||
'''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 45: | 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. | |||
'''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:''' | |||
Die <code>for-</code> Schleife hat in der Klammer immer drei Teile, die durch Semikolons ('''<code>;</code>''') getrennt werden. | |||
# im '''ersten''' Teil wird eine '''Zählvariable deklariert''' und mit einem Startwert initalisiert.<br>Im Beispiel wird <code>i</code> deklariert und auf 0 gesetzt. | |||
# im '''zweiten''' Teil wird eine '''Bedingung''' festgelegt: Solange die Bedingung erfüllt ist, läuft die Schleife.<br>Im Beispiel läuft die Schleife so lange, wie <code>i</code> kleiner als 100 ist. | |||
# im '''dritten''' Teil wird die '''Veränderung''' festgelegt: <u>Nach</u> jedem Schleifendurchlauf wird die Veränderung durchgeführt.<br>Im Beispiel wird <code>i</code> um 1 erhöht. | |||
=== foreach-Schleife === | === foreach-Schleife === | ||
TODO: Beschreibung | TODO: Beschreibung | ||
<font color='red'>Nicht zentralabitur-relevant</font> | |||
[[File:ForeachSchleife.png|none|Flussdiagramm einer for-each-Schleife]] | [[File:ForeachSchleife.png|none|Flussdiagramm einer for-each-Schleife]] | ||
Zeile 68: | Zeile 99: | ||
'''Syntax:''' | '''Syntax:''' | ||
Der folgende Code gibt | Der folgende Code gibt alle Namen aus <code>namenVector</code> aus: | ||
<code> | <code> | ||
Vector<String> namenVector; | |||
// | // TODO: namenVector füllen! | ||
for ( | for (String akutellerName : namenVector ) { | ||
System.out.println( | System.out.println(aktuellerName); | ||
} | } | ||
</code> | </code> |
Aktuelle Version vom 23. Januar 2022, 17:58 Uhr
TODO: Beschreibung
Arten
man unterscheidet zwischen folgende Schleifen-arten:
- while-Schleife
- do-While-Schleife
- for-Schleife
- 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.
- im ersten Teil wird eine Zählvariable deklariert und mit einem Startwert initalisiert.
Im Beispiel wirdi
deklariert und auf 0 gesetzt. - 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, wiei
kleiner als 100 ist. - im dritten Teil wird die Veränderung festgelegt: Nach jedem Schleifendurchlauf wird die Veränderung durchgeführt.
Im Beispiel wirdi
um 1 erhöht.
foreach-Schleife
TODO: Beschreibung
Nicht zentralabitur-relevant
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);
}