Dokumentieren 3282977

Werbung
Übersicht
• Boolesche Ausdrücke (Werte wahr/falsch)
– Relationale Operatoren (==, >,<, ..)
•
Kontrollstrukturen
– while
– do - while
– switch
– break
1
Boolesche Ausdrücke
• Bedingungen in if oder for:
• Beispiele:
–if(i == 0) ...
–for(int i = 0 ; i < 1000 ; i = i + 1)...
2
Relationale Operatoren
Mathem. Notation
Java
Erläuterung
=
==
Identität (Gleichheit)

!=
Ungleichheit
<
<
kleiner als

<=
kleiner oder gleich als
>
>
größer als

>=
größer oder gleich als
3
Beispiel: For-Schleife mit komplexer Bedingung
• Es sollen die Zahlen von 1 bis 100 addiert werden,
jedoch soll vorher abgebrochen werden,wenn die
Summe die Zahl 2000 erreicht hat.
int Summe =0;
for(int i = 1; (i <= 100 & Summe < 2000); i = i+1)
{
Summe = Summe + i;
}
4
while- und do-while-Schleife
while-Schleife:
do-while-Schleife:
while ( boolean-Ausdruck )
{ Anweisung 1;
Anweisung 2;
….
}
do {
Anweisung 1;
Anweisung 2;
….
}
while ( boolean-Ausdruck );
• Schleife mit
Eintrittsbedingung
– Anweisung wird 0 bis
x-mal ausgeführt
• Schleife mit
Wiederholungsbedingung
– Anweisung wird mindestens
einmal ausgeführt
5
Übung 1
• Schreibe ein Programm, das die Zahlen von 1 bis
100 aufzählt, wobei anstelle der durch 5 und durch
sieben teilbaren Zahl der Text „XY“ ausgeschrieben
werden soll. Ist die Zahl nur durch 5 teilbar soll der
Buchstabe „X„ und nur durch 7 teilbar der Buchstabe
„Y“ ausgegeben werden.
• Tip: Verwende die Operation % (Rest der
ganzzahligen Division):
• z.B. 11 % 5 = 1 (11 geteilt durch 5 ist 2 mit Rest 1)
6
Übung 2
Die Collatz-Folge ist definiert durch:
n  n/2 falls n gerade ist
n  3n+1 falls n ungerade ist.
Berechne diese Zahlenfolge für den
Startwert 27 bis die Zahl 1 erreicht ist.
Die ersten Folgenglieder lauten 27, 82,
41, 124, 62, 31 usw.
7
Übung 3
• Schreibe ein Programm, das die natürlichen Zahlen
solange summiert, bis die Summe die Zahl 3000
erstmals überschreitet. Gib die Summe und die
Anzahl der natürlichen Zahlen aus.
• Tip: Verwende while-Schleifen:
– while ( boolean-Ausdruck )
Anweisung;
– do
Anweisung;
while ( boolean-Ausdruck );
8
switch-Anweisung
• dient zur Realisierung von Fallunterscheidungen
• switch (Ausdruck )
{
case Wert1 : Anweisung1; // 1. Fall Ausdruck=Wert1
case Wert2 : Anweisung2; // 2. Fall Ausdruck=Wert2
...
default: Ansonsten-Anweisung; // ansonsten
}
• es werden alle Anweisungen ab der ersten erfüllten caseBedingung ausgeführt !! (inkl. der Ansonsten-Anweisung )
• Ausdruck muss vom Typ byte, short, int oder char sein
• Wert1, Wert2, … muss eine Konstante vom gleichen Typ wie
Ausdruck sein
9
Beispiel 1 zur switch-Anweisung
class Switch1
{
public static void main (String args[])
{
int i;
for (i=0; i < 10; i=i+1)
switch(i)
{
case 1: System.out.println("eins");
case 2: System.out.println("zwei");
case 5: System.out.println("fünf");
default: System.out.println(i);
}
}
}
Ausgabe:
0
eins
zwei
fünf
1
zwei
fünf
2
3
4
fünf
5
6
7
8
9
Problem: fehlerhafte Ausgabe, da jeweils nach der ersten
passenden case-Bedingung alle anderen Anweisungen
ohne weitere Überprüfung ausgeführt werden!
10
Die break-Anweisung (1)
• dient zum Abbruch von switch-Fallunterscheidungen
switch ( Ausdruck ) {
case Wert1 : { Anweisung1; break; }
case Wert2 : { Anweisung2; break; }
...
default: Ansonsten-Anweisung;
}
• Der Programmablauf wird bei Ausführung eines breakBefehls hinter der switch-Anweisung fortgesetzt!
11
Beispiel 2 zur switch-Anweisung
class Switch2
{
public static void main (String args[])
{
int i;
for (i=0; i < 10; i=i+1)
switch(i)
{
case 1: {System.out.println("eins"); break;}
case 2: {System.out.println("zwei"); break;}
case 5: {System.out.println("fünf"); break;}
default: System.out.println(i);
}
}
}
Ausgabe:
0
eins
zwei
3
4
fünf
6
7
8
9
Die Ausgabe ist nun korrekt, da die switch-Anweisung jeweils nach der
Ausführung der passenden case-Bedingung mittels break verlassen wird.
12
Die break-Anweisung (2)
• kann auch zum Abbruch von Schleifen (for, while, dowhile) eingesetzt werden
Beispiel while-Schleife:
while ( boolean-Ausdruck1 ) {
...
if ( boolean-Ausdruck2 ) break; // Abbruch
...
}
• Der Programmablauf wird hinter der
Schleifenanweisung fortgesetzt
13
Herunterladen