Nach diesem Kapitel kannst du:
- Verschiedene Operatortypen in Java unterscheiden und anwenden
- Arithmetische Berechnungen durchführen
- Vergleiche zwischen Werten erstellen
- Logische Verknüpfungen verstehen und nutzen
- Die Operator-Prioritäten beachten
Operatoren sind spezielle Symbole, die dem Computer sagen, welche Operationen er mit Werten durchführen soll. Stell dir vor, Operatoren sind wie mathematische Zeichen (+, -, *, /) - nur gibt es in Java noch viele mehr!
Diese Operatoren kennst du bereits aus der Mathematik:
| Operator | Name | Beispiel | Ergebnis |
|---|---|---|---|
+ |
Addition | 5 + 3 |
8 |
- |
Subtraktion | 5 - 3 |
2 |
* |
Multiplikation | 5 * 3 |
15 |
/ |
Division | 15 / 3 |
5 |
% |
Modulo (Rest) | 15 % 4 |
3 |
Der Modulo-Operator gibt den Rest einer Division zurück:
10 % 3 = 1(10 geteilt durch 3 ist 3, Rest 1)8 % 2 = 0(8 geteilt durch 2 ist 4, Rest 0)
Praktischer Nutzen: Prüfung auf gerade/ungerade Zahlen!
int zahl = 7;
if (zahl % 2 == 0) {
System.out.println("Gerade Zahl");
} else {
System.out.println("Ungerade Zahl");
}Diese Operatoren vergleichen zwei Werte und geben true oder false zurück:
| Operator | Name | Beispiel | Ergebnis |
|---|---|---|---|
== |
Gleich | 5 == 5 |
true |
!= |
Ungleich | 5 != 3 |
true |
> |
Größer als | 5 > 3 |
true |
< |
Kleiner als | 3 < 5 |
true |
>= |
Größer oder gleich | 5 >= 5 |
true |
<= |
Kleiner oder gleich | 3 <= 5 |
true |
=ist die Zuweisung:int x = 5;(x bekommt den Wert 5)==ist der Vergleich:x == 5(ist x gleich 5?)
Logische Operatoren verknüpfen boolean-Werte:
| Operator | Name | Beispiel | Ergebnis |
|---|---|---|---|
&& |
UND (AND) | true && false |
false |
|| |
ODER (OR) | true || false |
true |
! |
NICHT (NOT) | !true |
false |
UND (&&): Beide Bedingungen müssen wahr sein
| A | B | A && B |
|---|---|---|
| true | true | true |
| true | false | false |
| false | true | false |
| false | false | false |
ODER (||): Mindestens eine Bedingung muss wahr sein
| A | B | A || B |
|---|---|---|
| true | true | true |
| true | false | true |
| false | true | true |
| false | false | false |
int x = 10; // x bekommt den Wert 10| Operator | Langform | Kurzform |
|---|---|---|
+= |
x = x + 5 |
x += 5 |
-= |
x = x - 3 |
x -= 3 |
*= |
x = x * 2 |
x *= 2 |
/= |
x = x / 4 |
x /= 4 |
%= |
x = x % 3 |
x %= 3 |
| Operator | Name | Wirkung |
|---|---|---|
++ |
Inkrement | Erhöht um 1 |
-- |
Dekrement | Verringert um 1 |
int x = 5;
int y = ++x; // Präfix: x wird ERST erhöht, DANN zugewiesen → x=6, y=6
int z = x++; // Postfix: x wird ERST zugewiesen, DANN erhöht → z=6, x=7Wie in der Mathematik gibt es auch in Java eine Reihenfolge, in der Operatoren ausgewertet werden:
- Klammern
() - Inkrement/Dekrement
++,-- - Multiplikation, Division, Modulo
*,/,% - Addition, Subtraktion
+,- - Vergleichsoperatoren
<,>,<=,>= - Gleichheit
==,!= - Logisches UND
&& - Logisches ODER
|| - Zuweisung
=,+=,-=, etc.
int ergebnis = 2 + 3 * 4; // = 2 + 12 = 14 (nicht 20!)
int ergebnis2 = (2 + 3) * 4; // = 5 * 4 = 20Bei Strings funktioniert der +-Operator anders:
String vorname = "Max";
String nachname = "Mustermann";
String vollname = vorname + " " + nachname; // "Max Mustermann"
int alter = 25;
String text = "Ich bin " + alter + " Jahre alt"; // "Ich bin 25 Jahre alt"// FALSCH:
if (alter = 18) { ... } // Zuweisung statt Vergleich!
// RICHTIG:
if (alter == 18) { ... } // Vergleichint a = 10;
int b = 0;
int ergebnis = a / b; // Fehler: ArithmeticException!int ergebnis = 5 / 2; // = 2 (nicht 2.5!)
double ergebnis = 5.0 / 2; // = 2.5// Gewollt: Prüfung ob x zwischen 1 und 10 liegt
// FALSCH:
if (1 <= x <= 10) { ... } // Syntaxfehler!
// RICHTIG:
if (x >= 1 && x <= 10) { ... }double celsius = 25.0;
double fahrenheit = celsius * 9.0 / 5.0 + 32; // 77.0°Fint zahl = 42;
boolean istGerade = (zahl % 2 == 0); // trueint note = 85;
boolean istBestanden = (note >= 50 && note <= 100); // trueErstelle Variablen für zwei Zahlen und berechne:
- Summe
- Differenz
- Produkt
- Quotient
- Rest bei Division
Eine Note zwischen 1-15 Punkten ist gegeben. Prüfe:
- Ist es eine gültige Note? (1-15)
- Ist es eine ausreichende Note? (≥5)
- Ist es eine sehr gute Note? (≥13)
Ein Jahr ist ein Schaltjahr, wenn:
- Es durch 4 teilbar ist UND
- Es nicht durch 100 teilbar ist ODER es durch 400 teilbar ist
Simuliere eine Login-Prüfung mit:
- Benutzername muss "admin" sein
- Passwort muss "geheim123" sein
- Beide Bedingungen müssen erfüllt sein
Operatoren sind das Werkzeug, um mit Daten zu arbeiten:
- Arithmetische Operatoren für Berechnungen
- Vergleichsoperatoren für Bedingungen
- Logische Operatoren für komplexe Bedingungen
- Zuweisungsoperatoren für effiziente Werteänderungen
Die Operator-Priorität ist wichtig - im Zweifel Klammern setzen!
Im nächsten Kapitel lernst du Ein- und Ausgabe - wie dein Programm mit dem Benutzer kommuniziert!