Weitere Grundelemente der Programmiersprache Java
Zu Teil 2: Kernelemente von Java
Teil 3: Ablaufsteuerung in Java
Zu Teil 4: Überblick Objektorientierung in Java
Für den Zugriff auf die Kapitel 5 - 20 müssen Sie sich zunächst registrieren.
Ablaufsteuerung: Bedingungen und Schleifen
Bevor wir in die Objektorientierung einsteigen, gehen wir noch auf einige weitere unverzichtbare Bestandteile der Programmiersprache Java ein. Bisher haben wir gesehen, dass man eine Reihe von Anweisungen einfach nacheinander ausführen kann. Hierbei brauchen wir aber noch mehr Kontrolle.
Wir brauchen beispielsweise eine Möglichkeit, bestimmte Codezeilen nicht bei jedem Programmlauf auszuführen, sondern in Abhängigkeit von einer Bedingung. Das erreicht man mit einer sogenannten if
-Anweisung:
if (<BEDINGUNG_ERFÜLLT>) { Anweisung 1; Anweisung 2; ... } else { Anweisung 3; Anweisung 4; ... }
Bei der if
-Anweisung wird zunächst geprüft, ob eine bestimmte Bedingung erfüllt ist. Wie so eine Bedingung konkret aussehen kann, werden wir gleich sehen. Nur wenn die Bedingung erfüllt ist, werden die nachfolgenden Anweisungen ausgeführt. Ist die Bedingung nicht erfüllt, werden stattdessen die Anweisungen ausgeführt, die hinter der else
-Klausel gruppiert sind.
Zur Kennzeichnung der Bereiche, deren Ausführung von der Bedingung abhängig ist, werden wiederum die geschweiften Klammern verwendet. Die geschweiften Klammern können übrigens weggelassen werden, wenn nur eine einzelne Anweisung gruppiert werden soll. Der else
-Teil kann auch komplett weggelassen werden: dann wird der ganze Block einfach übersprungen, wenn die Bedingung nicht erfüllt ist.
Hier sehen wir übrigens zum ersten Mal eine Abweichung von der Standard-Syntax, die wir zu Beginn erläutert hatten: direkt nach der if
-Anweisung erfolgt kein abschließendes Semikolon, sondern nur nach den jeweiligen untergeordneten Anweisungen.
Jetzt erweitern wir unsere Summen-Programm um eine if-Anweisung:
int summand1 = 5;
int summand2 = 10;
int summe = summand1 + summand2;
System.out.println(summe);
if (summe > 10)
{
System.out.println("Die Summe ist größer als 10");
}
Nun wird einfach am Ende noch überprüft, ob in der Variable summe ein Wert gespeichert ist, der größer als 10 ist. Ist das der Fall, dann wird einfach noch eine zusätzliche Meldung auf der Kommandozeile ausgegeben.
An diesem Beispiel haben Sie auch gesehen, wie eine Bedingung formuliert werden kann. Oft werden dabei Ausdrücke verwendet, die einen Vergleichsoperator verwenden. Die Vergleichsoperatoren sind <, <=, ==, !=, >= und > (kleiner, kleiner gleich, gleich, ungleich, größer gleich, größer). Eine Bedingung kann auch ein komplexerer Ausdruck sein als in dem Beispiel, z.B.
summand1 * 5 >= summand2 / 3
was bedeutet, dass die Bedingung erfüllt ist, wenn das Produkt aus summand1 und 5 größer oder gleich als summand2 geteilt durch 3 ist.
Schleifen
Bedingungen werden auch bei dem nächsten Konzept, das wir kennen lernen werden, eine wichtige Rolle spielen. Was ist zum Beispiel, wenn Sie eine bestimmte Anweisung oder gar eine Reihe von Anweisungen mehrfach ausführen wollen? Mit dem bisher vermittelten Wissen müssten Sie die Anweisungen ebenso oft aufschreiben, wie Sie sie ausführen wollen. Das ist natürlich unnötig umständlich und daher gibt es in Programmiersprachen dafür das Konzept der Schleifen. Es gibt verschiedene Arten von Schleifen, wir werden hier nur die for
-Schleifen und die while
-Schleifen betrachten.
Programmieren mit Java - Einige unserer Empfehlungen
Wir beginnen mit der for-Schleife. Diese verwendet man meistens, wenn man einen bestimmten Anweisungsblock für eine zuvor festgelegte Anzahl an Durchläufen ausführen will. Die Syntax der for-Schleife ist die folgende:
for (<INITIALISIERUNG>; <BEDINGUNG>; <INKREMENT>) { Anweisung 1; Anweisung 2; ... }
Das wirkt vielleicht auf den ersten Blick etwas eigenartig, ist aber relativ einfach. Initialisierung bedeutet, dass man hier Code angeben kann, der einmalig vor Beginn der Ausführung der Schleife durchgeführt wird. Normalerweise nutzt man das, um eine Zählervariable anzulegen (also eine Variable, mit der gezählt wird, wie oft eine Schleife schon durchlaufen wurde).
Vor jedem Schleifendurchlauf wird geprüft, ob die Bedingung erfüllt ist. Das ist eine Bedingung wie bei einer if
-Anweisung. Nur wenn die Bedingung erfüllt ist, wird die Schleife ein weiteres Mal durchlaufen, ansonsten terminiert die Schleife.
Inkrement bedeutet, dass man hier Code einfügen kann, der nach jedem Schleifendurchlauf ausgeführt wird. In der Regel benutzt man das, um die bei Initialisierung angelegte Schleifenvariable um 1 zu vergrößern (das nennt man inkrementieren).
Konkret könnte eine for
-Schleife also folgendermaßen aussehen:
int sum = 0;
for (int i = 1; i <= 10; ++i)
{
sum = sum + i;
}
Bei Initialisierung wird also eine Zählvariable i
angelegt und dieser Variable direkt der Wert 1 zugewiesen. Es wird nun bei jedem Schleifendurchlauf geprüft, ob i
kleiner oder gleich 10 ist, so lange wird die Schleife ausgeführt. Als Inkrement-Teil der Schleife haben wir
++i
angegeben. Doch was bedeutet das? Nun, das ist einfach eine Abkürzung, es ist die Kurzform von
i = i+1;
++i
bedeutet also, dass einfach die Zählervariable um 1 hochgesetzt wird. Im eigentlichen Schleifenrumpf wird nun jeweils unsere Zählvariable i
aufsummiert, sodass wir als Ergebnis am Ende in der Variable sum
die Summe der Zahlen von 1 bis 10 erhalten (sum(1,10) = 55).
Zur Verdeutlichung wollen wir die ersten Durchläufe der Schleife einmal konkret durchgehen. Zunächst hat die Variable sum
den Wert 0. Nun startet unsere Schleife: es wird eine Variable i
angelegt und dieser der Wert 1 zugewiesen.
Nun wird zum ersten Mal die Bedingung geprüft: i
ist kleiner oder gleich 10, also wird der Schleifenrumpf ausgeführt: i
wird zu sum
addiert, also hat sum
nun den Wert 1. Der Schleifenrumpf besteht nur aus einer Anweisung, also ist der erste Durchlauf bereits komplett. Deshalb wird jetzt der Inkrement-Teil ausgeführt: die Variable i
wird um 1 vergrößert, ihr Wert ist nun also 2.
Es wird wieder die Bedingung geprüft, i
(2) ist immer noch kleiner oder gleich 10, also wird der Rumpf ein weiteres Mal ausgeführt. Nun werden wiederum die Variablen sum
(1) und i
(2) addiert, sodass sum
danach den Wert 3 hat. Danach ist auch dieser Schleifendurchlauf beendet und es wird wieder inkrementiert.
Das geht so lange weiter, bis i
den Wert 10 hat. Dann wird der Schleifenrumpf ein letztes Mal ausgeführt. Danach wird dann i
auf 11 inkrementiert und die nachfolgende Prüfung der Bedingung i <= 10
schlägt fehl. Damit wird die Schleife schlussendlich beendet.
Programmieren mit Java - Einige unserer Empfehlungen
Wenn Sie das verstanden haben, werden Sie auch keine Probleme haben, das Konzept der while
-Schleife zu verstehen. Die while
-Schleife ist der for
-Schleife sehr ähnlich, jedoch gibt es dort keine Initialisierung und keinen Inkrement-Teil. Es wird einfach nur vor jedem Durchlauf eine Bedingung überprüft. Die Syntax ist also
while (<BEDINGUNG>) { Anweisung 1; Anweisung 2; ... }
Wir können das gleiche Beispiel wie bei der for-Schleife auch mit einer while-Schleife realisieren, nur müssen wir dann die Initialisierung "extern" (also außerhalb der Schleife) vornehmen und den Inkrement im Schleifenrumpf durchführen:
int sum = 0;
int i = 1;
while (i <= 10)
{
sum = sum + i;
++i;
}
Weiter geht es in Teil 4 des Tutorials mit einer Einführung in die Objektorientierung.
Zu Teil 2: Kernelemente von Java
Teil 3: Ablaufsteuerung in Java
Zu Teil 4: Überblick Objektorientierung in Java
Für den Zugriff auf die Kapitel 5 - 20 müssen Sie sich zunächst registrieren.
Eine ausführliche Liste unserer Buchempfehlungen für Java finden Sie hier.
Java-Tutorial Kapitel:
1. Grundlagen: Compiler und Entwicklungsumgebung2. Kernelemente: Variablen und Ausdrücke
3. Ablaufsteuerung in Java
4. Überblick Objektorientierung
5. Primitive Datentypen
6. Ausdrücke und Operatoren
7. Arrays in Java
8. Zeichenketten
9. Klassen und Objekte
10. Referenzen und Parameter
11. Vererbung in Java
12. Exceptions
13. Generics
14. Collections
15. Dateiverarbeitung in Java
16. Nebenläufigkeit
17. Netzwerkprogrammierung
18. Grafische Oberflächen (GUIs)
19. Java-Webtipps
20. Code-Download und Übungen
Für den Zugriff auf die Kapitel 5 - 20 ist eine Registrierung notwendig.
Einloggen
Wenn Sie noch kein Benutzerkonto bei programmierenlernen24.de haben, müssen Sie sich zunächst registrieren, um vollen Zugriff auf unser Java-Tutorial zu bekommen.
Passwort vergessen? Lassen Sie sich hier ein neues zusenden.
Unsere Buchempfehlungen
Oder sehen Sie sich die vollständige Liste der Empfehlungen für Java an.Wir haben auch eine Empfehlung für einen Java-Fernkurs parat.