🏆

Aufgabe gelöst!

Sehr gut!

+30 XP


⚡ 0 XP
✅ 0 gelöst
🔥 0
⚖️

Vergleiche & Wertzuweisungen

Informatik · Gymnasium · Klassen 8–12 · PRIMM-Methode

Operatoren Interaktiv Kl. 8–12
🎯 Worum geht's? Klasse 10–13 · 1 Unterrichtsstunde

Nach dieser Seite kannst du …

  • Vergleiche und logische Ausdrücke (und, oder, nicht) auswerten
  • vorhersagen, welcher Zweig einer Bedingung ausgeführt wird
  • den Programmablauf mit Bedingungen Schritt für Schritt nachvollziehen

Vorwissen: Variablen und Wertzuweisungen

📝 Aufgaben

Jede Aufgabe hat fünf Schritte: Predict › Run › Investigate › Modify › Make. Wähle eine Aufgabe aus – oder nutze oben die Leiste „Aufgaben: 1, 2, 3 …“.

0
⚡ Gesammelte XP
0
✅ Aufgaben abgeschlossen
0
🔥 Streak (Tage)
–
🎯 Genauigkeit

📖 Themenübersicht

Operator Bedeutung Beispiel Ergebnis
== gleich 5 == 5 true
!= ungleich 3 != 4 true
< kleiner als 2 < 7 true
> größer als 9 > 9 false
<= kleiner gleich 4 <= 4 true
>= größer gleich 6 >= 7 false
&& UND true && false false
|| ODER true || false true
! NICHT !true false
+= addiere zu x += 3 x = x + 3
-= subtrahiere von x -= 2 x = x − 2
*= multipliziere x *= 4 x = x × 4
/= dividiere x /= 2 x = x ÷ 2
%= Modulo x %= 3 x = x mod 3
++ Inkrement x++ x = x + 1
-- Dekrement x-- x = x − 1

🏅 Zuletzt verdiente Badges

🔮 Predict
Aufgabe 1 – Vergleichsoperatoren

Gegeben: int a = 5; int b = 8; int c = 5;

💡 Merke

Vergleichsoperatoren liefern immer true oder false. == prüft Gleichheit, = ist die Zuweisung.

Was ergibt a == c?

Was ergibt a != b?

Was ergibt b <= a?

▶️ Run – Ausdrücke auswerten

Gegeben: int x = 10; int y = 3; int z = 10;

Ausdruck Ergebnis (true/false)
x == z
x != y
y > x
y <= 3
x >= z
x % y == 1
Setze die Werte ein. % liefert den Rest der Division: Was ist 10 % 3?
🔍 Investigate

Was ist der Unterschied zwischen = und ==?

Welchen Datentyp hat das Ergebnis eines Vergleichs?

✏️ Modify

Schreibe einen Ausdruck, der true ergibt, wenn n eine gerade Zahl ist (Hinweis: Nutze den Modulo-Operator.).

☕ Java – Modify
Eine Zahl ist gerade, wenn bei der Division durch 2 kein Rest bleibt.
🛠️ Make

Implementiere istInBereich: gibt true zurück, wenn x zwischen min und max liegt (inklusive).

☕ Java – Make
x muss zwei Bedingungen gleichzeitig erfüllen: mindestens min und höchstens max.
🔮 Predict
Aufgabe 2 – Logische Operatoren

Gegeben: boolean p = true; boolean q = false;

💡 Wahrheitstafel

&& (UND): beide müssen true sein · || (ODER): mindestens eine muss true sein · ! (NICHT): kehrt den Wert um

Was ergibt p && q?

Was ergibt p || q?

Was ergibt !p || q?

▶️ Run – Wahrheitstabelle

Gegeben: int a = 4; int b = 9; int c = 4;

Ausdruck Ergebnis
a == c && b > a
a > b || c == a
!(a == b)
a != c || b < 5
!(b > 10) && a < b
a % 2 == 0 && b % 2 == 0
Werte zuerst die Vergleiche aus, dann !, dann && und ||.
🔍 Investigate

Was ist Short-Circuit-Evaluation bei &&?

Wann ist A || B false?

✏️ Modify

Modifiziere die Bedingung so, dass sie prüft, ob x nicht zwischen 10 und 20 liegt.

☕ Java – Modify
„Nicht zwischen 10 und 20“ heißt: kleiner als 10 ODER größer als 20 – oder du kehrst die ganze Bedingung mit ! um.
🛠️ Make

Implementiere genauEiner: gibt true zurück, wenn genau einer der beiden booleschen Werte true ist (XOR).

☕ Java – Make
Genau einer: mindestens einer ist true, aber nicht beide. Gibt es auch einen Vergleich, der genau das ausdrückt?
🔮 Predict
Aufgabe 3 – Zusammengesetzte Zuweisungen

Gegeben: int x = 10;

💡 Kurzform

x += 3 ist dasselbe wie x = x + 3. Der Wert auf der rechten Seite wird mit dem aktuellen Wert verknüpft.

Was ist der Wert von x nach x += 5?

Nach x += 5 (x=15): Was ist x nach x *= 2?

▶️ Run – Schritt-für-Schritt Trace

Verfolge den Wert von x nach jeder Zeile. Start: x = 20

Anweisung x danach
int x = 20;
x -= 5;
x *= 3;
x /= 5;
x %= 4;
x++;
x--;
Jede Zeile verändert den aktuellen Wert von x. Achtung: / rechnet ganzzahlig, % liefert den Rest.
🔍 Investigate

Was ist der Unterschied zwischen i++ und ++i?

Was ergibt int a = 5; int b = a++; – was steht in b?

✏️ Modify

Überführe alle langen Schreibweisen in Kurzformen (+=, -=, …).

☕ Java – Modify
x = x + 7 lässt sich kürzer schreiben – welcher Operator steht dann vor dem =?
🛠️ Make

Implementiere tausche: Tausche die Werte von a und b mithilfe einer temporären Variablen. Gib ein int-Array zurück mit [neuem a, neuem b].

☕ Java – Make
Merke dir einen der beiden Werte in einer Hilfsvariable, bevor du ihn überschreibst.
🔮 Predict
Aufgabe 4 – Verkettete Ausdrücke

Gegeben: int x = 6; int y = 4;

💡 Auswertungsreihenfolge

Wie in der Mathematik gilt: Klammern zuerst, dann *, /, %, dann +, –. Vergleiche werden zuletzt ausgewertet.

Was ergibt x * 2 + y - 1?

Was ergibt x % y == 2 && y > 3?

▶️ Run – Schrittweise Auswertung

Gegeben: int a=3; int b=7; int c=2;
Trage den Wert des vollständigen Ausdrucks ein.

Ausdruck Wert
a + b * c
(a + b) * c
b / a + c
b % a * c
a * b - c * a
b > a + c && c < a
Klammern zuerst, Punkt vor Strich, Vergleiche zuletzt. Bei int-Werten ist 7 / 3 ganzzahlig.
🔍 Investigate

Was ergibt 7 / 2 in Java (beide int)?

Welchen Wert hat -7 % 3 in Java?

✏️ Modify

Füge Klammern hinzu, sodass der Ausdruck 18 ergibt (nicht 14).

☕ Java – Modify
Ohne Klammern gilt Punkt vor Strich: Java rechnet zuerst b * 3. Welche Rechnung muss zuerst passieren, damit 18 herauskommt?
🛠️ Make

Implementiere mittelwert: Berechne den Durchschnitt dreier int-Werte als double.

☕ Java – Make
Teilst du durch die int-Zahl 3, rechnet Java ganzzahlig. Wodurch musst du teilen, damit eine Kommazahl herauskommt?
🔮 Predict
Aufgabe 5 – if/else Trace

Aufruf: klassifiziere(7) – Was gibt die Methode zurück?

▶️ Run – if/else Trace

Welchen String gibt klassifiziere(n) zurück?

Aufruf Rückgabe
klassifiziere(-3)
klassifiziere(0)
klassifiziere(15)
klassifiziere(-1)
Gehe die Bedingungen von oben nach unten durch – die erste, die zutrifft, bestimmt das Ergebnis. Achte auf die genaue Schreibweise.
🔍 Investigate

Was passiert, wenn mehrere if-Bedingungen nacheinander stehen (ohne else if)?

Wann wird der else-Block ausgeführt?

✏️ Modify

Ergänze eine weitere Verzweigung: Wenn n > 100, soll "sehr groß" zurückgegeben werden.

☕ Java – Modify
Die Reihenfolge zählt: Steht n > 100 erst nach n > 0, wird es nie erreicht.
🛠️ Make

Implementiere notenText: Gibt für eine Note (1–6) den Text zurück (1→"sehr gut", 2→"gut", 3→"befriedigend", 4→"ausreichend", 5→"mangelhaft", 6→"ungenügend", sonst→"ungültig").

☕ Java – Make
Nutze if/else if oder switch. Vergiss den Default-Fall nicht!
🔮 Predict
Aufgabe 6 – Kombinierter Schreibtischtest

Aufruf: rechne(8, 3)

💡 Was gibt die Methode zurück?
▶️ Run – Vollständiger Trace

Ermittle die Belegung aller Variablen für den Aufruf rechne(8, 3).

Zeile / Anweisung a b erg Bedingung
Start – –
int erg = a + b; 8 3 –
if (a > b) 8 3 11
erg += a % b; 8 3 –
if (erg % 2 != 0) 8 3 13
erg++; 8 3 –
return erg; 8 3 –
Gehe Zeile für Zeile vor und notiere erg nach jeder Änderung. Was ist 8 % 3?
🔍 Investigate

Was gibt rechne(3, 8) zurück?

Was gibt rechne(5, 5) zurück?

✏️ Modify

Erweitere rechne: Wenn das Ergebnis negativ ist, gib 0 zurück.

☕ Java – Modify
Ergänze vor dem return eine Bedingung, die erg korrigiert, wenn es kleiner als 0 ist.
🛠️ Make

Implementiere fizzbuzz: Gibt für ein n "FizzBuzz" (durch 15 teilbar), "Fizz" (durch 3), "Buzz" (durch 5) oder die Zahl als String zurück.

☕ Java – Make
Die Reihenfolge der Prüfungen ist wichtig: Eine durch 15 teilbare Zahl ist auch durch 3 teilbar.
🔮 Predict
Aufgabe 7 – Ternärer Operator
💡 Was ist der Wert von s nach int x=7; String s=(x%2==0)?"gerade":"ungerade";?
💡 Was gibt der Ausdruck (85>=90)?"A":(85>=80)?"B":(85>=70)?"C":"D" zurück?
▶️ Run – Trace

Eingabe: int a=10, b=3; – berechne die Ergebnisse der ternären Ausdrücke.

AusdruckErgebnis
(a > b) ? a : b
(a < b) ? a : b
(a % 2 == 0) ? "gerade" : "ungerade"
(b > 0) ? (a / b) : 0
Bedingung ? Wert-wenn-wahr : Wert-wenn-falsch – werte zuerst die Bedingung aus. 10 / 3 rechnet ganzzahlig.
🔍 Investigate

Welchen Vorteil hat der ternäre Operator gegenüber if/else?

Welchen Typ hat (x > 0) ? 1 : 0.5?

✏️ Modify

Schreibe if/else zu einem ternären Ausdruck um. Das Ergebnis soll identisch sein.

☕ Java – Modify
Schreibe String ergebnis = Bedingung ? … : …; – die beiden Texte stammen aus den if/else-Zweigen.
🛠️ Make

Implementiere eine Methode String ampelText(int rot, int gelb, int gruen), die genau einen der drei Parameter als 1 erhält und den passenden Text zurückgibt: "Stopp", "Achtung" oder "Fahrt frei" – mit verschachtelten ternären Ausdrücken.

☕ Java – Make
Verschachtle zwei ternäre Ausdrücke: zuerst auf rot prüfen, im Falsch-Zweig auf gelb.
🔮 Predict
Aufgabe 8 – switch-Statement
💡 Was gibt wochentag(6) aus?
💡 Was gibt wochentag(9) aus?
▶️ Run – Trace

Bestimme die Ausgabe für jeden Aufruf.

AufrufAusgabe
wochentag(1)
wochentag(3)
wochentag(7)
wochentag(8)
Suche den case, zu dem der Wert passt. Mehrere case-Marken hintereinander führen zum selben return; alles andere landet bei default.
🔍 Investigate

Was passiert, wenn man break in einem case weglässt?

Welche Typen darf der Ausdruck in einem klassischen switch haben?

✏️ Modify

Ergänze den switch um einen Fall für 0: er soll "kein Wochentag" zurückgeben, und default soll "ungueltig" zurückgeben.

☕ Java – Modify
Ergänze vor default eine neue case-Marke mit eigenem return.
🛠️ Make

Implementiere eine Methode String jahreszeit(int monat), die für 1–12 die passende Jahreszeit zurückgibt: Winter (12,1,2), Frühling (3,4,5), Sommer (6,7,8), Herbst (9,10,11). Ungültige Monate → "ungueltig".

☕ Java – Make
Fasse die drei Monate einer Jahreszeit mit mehreren case-Marken zusammen; ungültige Monate landen bei default.
🔮 Predict
Aufgabe 9 – String-Vergleiche
💡 Was gibt a.equals(b) zurück?
💡 Was gibt a == b zurück?
▶️ Run – Trace

Eingabe: String a = "Apfel"; String b = "Birne";

AusdruckErgebnis
a.equals(b)
a.equalsIgnoreCase("APFEL")
a.compareTo(b) (positiv/negativ/null)
a.length()
equals vergleicht genau, equalsIgnoreCase ohne Groß-/Kleinschreibung. compareTo ist negativ, wenn der erste String alphabetisch vorne steht. length() zählt die Zeichen.
🔍 Investigate

Warum liefert == bei Strings oft false, obwohl der Inhalt gleich ist?

Wann ist str1 == str2 für zwei Strings trotzdem true?

✏️ Modify

Der Code enthält einen typischen Fehler beim String-Vergleich. Korrigiere ihn.

☕ Java – Modify
Strings vergleicht man inhaltlich nicht mit ==, sondern mit einer Methode.
🛠️ Make

Schreibe boolean istAnagramm(String a, String b): zwei Strings sind Anagramme, wenn sie dieselben Zeichen in beliebiger Reihenfolge enthalten (Groß-/Kleinschreibung ignorieren). Z.B. "listen" und "silent" → true.

☕ Java – Make
Beide toLowerCase(), dann chars in Array, Arrays.sort(), dann Arrays.equals() – oder Zeichenhäufigkeiten mit int[26] zählen.
🔮 Predict
Aufgabe 10 – Kurzschlussauswertung
💡 Was sind die Werte von r, x und y nach der Zuweisung?
💡 Warum wird y++ nicht ausgeführt?
▶️ Run – Trace

Berechne Schritt für Schritt. Eingabe: int x=5, y=0;

TeilausdruckWertx danachy danach
(x > 3) 50
(++x > 5) 0
(x>3)&&(++x>5) 60
Wird y++==0 ausgewertet? (ja/nein) 6
Gesamtergebnis r 60
Werte von links nach rechts aus. ++x erhöht x sofort. Steht das Ergebnis von || schon fest, wird die rechte Seite übersprungen.
🔍 Investigate

Wann wertet && den rechten Operanden nicht aus?

Welche Operatoren erzwingen in Java immer die Auswertung beider Seiten?

✏️ Modify

Der Code enthält eine NullPointerException-Falle. Nutze Kurzschlussauswertung, um den Crash zu verhindern.

☕ Java – Modify
Die Prüfung auf null muss vor name.length() stehen – mit && verbunden.
🛠️ Make

Schreibe boolean istGueltigeEingabe(String s, int min, int max): gibt true zurück, wenn s nicht null, nicht leer ist, und der Integer-Wert von s im Bereich [min, max] liegt. Nutze Kurzschlussauswertung, um Fehler zu vermeiden.

☕ Java – Make
Erst prüfen, ob s null oder leer ist (dann false), danach mit Integer.parseInt umwandeln und mit min und max vergleichen.

🏅 Deine Badges

Verdiente Badges leuchten auf.

📊 Statistik

↺ Zurücksetzen

Alle gespeicherten Daten werden gelöscht.

📄 Arbeitsblatt erstellen

Wähle aus, welche Bereiche auf das Arbeitsblatt kommen. Es enthält dann alle … Aufgaben dieser Seite aus diesen Bereichen – mit Kästchen zum Ankreuzen, leeren Tabellen und Platz zum Schreiben, ohne Lösungen und Tipps.

Bereiche für das Arbeitsblatt