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 Variableoperatorab. 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.