Verzweigungen
int punkte = 17;
if (punkte >= 20) {
System.out.println("Sehr gut");
} else if (punkte >= 10) {
System.out.println("Bestanden"); // wird ausgegeben
} else {
System.out.println("Nochmal üben");
}
- Bedingung:steht in runden Klammern:
if (punkte >= 20); der Block folgt in{ }. - else if:ersetzt Pythons
elif;elsefängt alles Übrige auf. - Vergleiche:
==,!=,<,<=,>,>=— wie in Python. - Logik:
&&(und),||(oder),!(nicht) stattand,or,not. - Strings:Inhalte vergleichst du mit
name.equals("Lea"), nicht mit==.
Schleifen
- while:
while (x < 100) { x = x * 2; }— läuft, solange die Bedingung wahr ist. - for:
for (int i = 0; i < 5; i++)— Start; Bedingung; Schritt, getrennt durch;. - Kurzformen:
i++erhöht um 1,i += 3um 3,i--verringert um 1. - Ablauf:Start einmal → Bedingung prüfen → Rumpf → Schritt → wieder Bedingung … bis sie falsch ist.
Herleitung:
for i in range(2, 10, 3):i = 2 · i < 10 · i += 3< und nicht <=.for (int i = 2; i < 10; i += 3)Stelle Start, Grenze und Schritt ein (Grenze auch direkt am Zahlenstrahl ziehen) und wickle die Schleife mit „Schritt“ oder ▶ ab. Die farbige Markierung im Kopf zeigt, welcher Teil gerade läuft; die Papierrolle protokolliert jeden Durchlauf.
| Nr. | i | Prüfung | Ausgabe | danach |
|---|
Halte fest: Der Start läuft einmal, die Bedingung wird vor jedem Durchlauf geprüft. Ist sie gleich zu Beginn falsch, läuft der Rumpf nie. Führt der Schritt nicht auf die Grenze zu, wird die Bedingung nie falsch — eine Endlosschleife.
for-Schleife: for (Start; Bedingung; Schritt) { Rumpf } — der Rumpf läuft, solange die Bedingung vor dem Durchlauf wahr ist.
Allgemeine Hinweise
= ist nicht ==
if (x = 5) ist eine Zuweisung. javac meldet: incompatible types: int cannot be converted to boolean.
Kein ; nach dem Kopf
if (x > 5); beendet die Anweisung sofort — der Block dahinter läuft dann immer. Ebenso hat for (…); einen leeren Rumpf.
Grenzen durchspielen
Mit < ist die Grenze ausgeschlossen, mit <= eingeschlossen. Setze den letzten Wert von i ein und prüfe die Bedingung von Hand.
