3.9 KiB
Kontrollstrukturen
Sequenz
Alle Statements in einem Quelltext werden der Reihe nach ausgeführt.
Statements Durch ;
getrennter Quelltext
int x = 10; //1. Statement
int x = 123 + x; //2. Statement
Selektion
Es wird selektiert welche Statements ausgeführt werden.
if
int i = 3;
if(i > 5) {
System.out.printf("i ist größer als 5");
}
else
int i = 3;
if(i > 5) {
System.out.printf("i ist größer 5");
} else {
System.out.printf("i ist kleiner oder gleich 5");
}
else if
int i = 3;
if(i > 5) {
System.out.printf("i ist größer 5");
} else if(i == 5) {
System.out.printf("i ist gleich 5");
} else {
System.out.printf("i ist kleiner 5");
}
switch
String wochentag = "Samstag";
switch(wochentag) {
case "Montag":
case "Dienstag":
case "Mittwoch":
case "Donnerstag":
case "Freitag":
System.out.printf("Es ist in der Woche");
break;
case "Samstag":
case "Sonntag":
System.out.printf("Es ist Wochenende 🎉");
break;
default:
System.out.printf("Diesen Tag gibt es nicht");
break;
}
Iteration
Es können Statements wiederholt werden. Iterative Kontrollstrukturen werden Schleifen genannt. Schleifen können folgende Eigenschaften haben:
- Kopfgesteuert Die Bedingung der Schleife wird im Kopf überprüft.
- Fußgesteuert Die Bedingung der Schleife wird im Fuß überprüft.
- Abweisend Die Schleife wird nicht durchlaufen.
- Positiv bedingt Die Schleife wird durchgeführt solange die Bedingung wahr ist.
- Negativ bedingt Die Schleife wird durchgeführt solange die Bedingung falsch ist.
for
- Kopfgesteuert
- Positiv bedingt
for(int i = 0; i < 10; i++) {
System.out.printf("%d%n", i);
}
// Oder in der kurzen Schreibweise:
for(int i = 0; i < 10; i++) System.out.printf("%d%n", i);
while
- Kopfgesteuert
- Positiv bedingt
int i = 0;
while(i < 10) {
System.out.printf("%d%n", i);
i++;
}
do-while
- Fußgesteuert
- Positiv bedingt
int i = 0;
do {
System.out.printf("%d%n", i);
i++;
} while(i < 10)
Aufgaben
-
Schreibe eine Methode
public static void divide(double quotient, double dividend)
welche das Ergebnis der Division auf die Konsole ausgibt. Achte darauf, dass nicht durch 0 geteilt wird und gebe eine Warnung über die Nulldivision auf der Konsole aus. -
Schreibe eine Methode
public static void calculator(char operator, int number1, int number2)
welche das Ergebnis der Operation auf der Konsole ausgibt. Die durchgeführte Operation hängt von dem Wert der Variableoperator
ab. Bsp:calculator('*', 3, 4)
schreibt auf die Konsole:3 * 4 = 12
-
Schreibe eine Methode
public static void gcd(int a, int b)
welche den größten gemeinsamen Teiler (engl. greatest common divisor oder gcd) von zwei Zahlen berechnet. Benutze dafür den Algorithmus von Euklid. -
Schreibe eine Methode
public static void printAscii()
welche die Ascii-Werte der Zahlen von 0 bis 122 ausgibt.