--- section: Bedingte Anweisung title: Logische Operatoren --- :::{.terminal} Unser Labor meldet uns gerade, dass manches Gestein geologisch interessanter ist als anderes. Sammle mit dem Rover nur das Gestein ein, das die besonderen Bedingungen erfüllt, die unser Team dir durchgibt. [_]{.blink} ::: Mit logischen Operatoren können mehrere [Bedingungen]{.gap} miteinander verbunden werden. #### Der UND-Operator In Java kann man zwei Bedingungen mit einem **UND** verknüpfen, indem man den `&&`-Operator verwendet, z. B. :::{style="padding-left: 3rem;"} ```java if(huegelVorhanden("rechts") && huegelVorhanden("links")) { ... } ``` ::: Die Bedingung `huegelVorhanden("rechts") && huegelVorhanden("links")`{.java} ist nur dann wahr, wenn beide Bedingungen `huegelVorhanden("rechts")`{.java} und `huegelVorhanden("links")`{.java} gleichzeitig wahr sind. :::{.aufgabe data-class="Aufgabe 5.2.1"} ::: {.columns} :::: {.column width=60%} Markiere alle Positionen auf dem Planeten, in dem die folgende Bedingung erfüllt ist: `huegelVorhanden("rechts") && huegelVorhanden("links")`{.java} Überprüfe deine Markierungen unter Planet: Logische Operatoren oder [weiter unten](#weiter-unten) auf dieser Seite. :::: :::: {.column width=40%} ![](img/logic-hills.png) :::: ::: ::: :::{.aufgabe data-class="Aufgabe 5.2.2"} Ergänze die Wahrheitstabelle: ------------------------------------------------------------------------------------------------------------------------------------- `huegelVorhanden("rechts")`{.java} `huegelVorhanden("links")`{.java} `huegelVorhanden("rechts") && huegelVorhanden("links")`{.java} ---------------------------------- --------------------------------- -------------------------------------------------------------- wahr wahr [wahr]{.solution} wahr falsch [falsch]{.solution} falsch wahr [falsch]{.solution} falsch falsch [falsch]{.solution} ------------------------------------------------------------------------------------------------------------------------------------- ::: :::{.aufgabe data-class="Aufgabe 5.2.3"} 1. Verwende den **UND**-Operator, um in Java die Methode `nimmGesteinNebenZweiHuegel()` zu programmieren: Dabei soll der Rover bis zur Markierung fahren und auf dem Weg nur dann Gestein aufnehmen, wenn links und rechts von ihm ein Hügel steht. ![](img/nimmGesteinZwischenZweiHuegeln.png){.center} 2. Ersetze in deinem Code den `&&`-Operator durch den `||`-Operator und teste den Code. Was bezweckt der `||`-Operator?
Teste deine Implementierung aus 1. in der Datei `Logische Operatoren` in der Online-IDE. :::: {.scorm-autoembed style="width:100%; height:620px;" .no-print} Test: Nimm Gestein Neben Zwei Huegeln :::: ::: #### Der ODER-Operator Analog zum **UND**-Operator `&&` gibt es in Java den **ODER**-Operator `||`. Dieser verknüpft zwei Bedingungen so miteinander, dass [mindestens eine]{.gap} wahr sein muss, damit die Gesamtaussage wahr ist. :::{.tipp} **Achtung**: Der **ODER**-Operator ist kein entweder/oder, d. h. auch beide Bedingungen können wahr sein. ::: :::{.aufgabe data-class="Aufgabe 5.2.4"} :::: {.columns} ::::: {.column width=60%} Markiere alle Positionen auf dem Planeten, in dem die folgende Bedingung erfüllt ist: `huegelVorhanden("rechts") || huegelVorhanden("links")`{.java} Überprüfe deine Markierungen unter Planet: Logische Operatoren oder [weiter unten](#weiter-unten) auf dieser Seite. ::::: ::::: {.column width=40%} ![](img/logic-hills.png) ::::: :::: ::: :::{.aufgabe data-class="Aufgabe 5.2.5"} Ergänze die Wahrheitstabelle: ------------------------------------------------------------------------------------------------------------------------------------- `huegelVorhanden("rechts")`{.java} `huegelVorhanden("links")`{.java} `huegelVorhanden("rechts") || huegelVorhanden("links")`{.java} ---------------------------------- --------------------------------- -------------------------------------------------------------- wahr wahr [wahr]{.solution} wahr falsch [wahr]{.solution} falsch wahr [wahr]{.solution} falsch falsch [falsch]{.solution} ------------------------------------------------------------------------------------------------------------------------------------- ::: #### Der NICHT-Operator Den **NICHT**-Operator kennst du bereits: In Java wird er mit einem `!` umgesetzt. :::{.aufgabe data-class="Aufgabe 5.2.6"} Ergänze die Wahrheitstabelle: ----------------------------------------------------------------------- `huegelVorhanden("rechts")`{.java} `!huegelVorhanden("rechts")`{.java} ---------------------------------- ----------------------------------- wahr [falsch]{.solution} falsch [wahr]{.solution} ----------------------------------------------------------------------- ::: :::{.aufgabe data-class="Aufgabe 5.2.7"} :::: {.columns} ::::: {.column width=60%} Markiere alle Positionen auf dem Planeten, in dem die folgende Bedingung erfüllt ist: `!huegelVorhanden("rechts")`{.java} Überprüfe deine Markierungen unter Planet: Logische Operatoren oder [weiter unten](#weiter-unten) auf dieser Seite. ::::: ::::: {.column width=40%} ![](img/logic-hills.png) ::::: :::: ::: :::{.aufgabe data-class="Aufgabe 5.2.8"} ::: {.columns} :::: {.column width=60%} Markiere alle Positionen auf dem Planeten, in dem die folgende Bedingung erfüllt ist: `!huegelVorhanden("rechts") && huegelVorhanden("links")`{.java} Überprüfe deine Markierungen unter Planet: Logische Operatoren oder direkt hier. Beschreibe die Bedingung in eigenen Worten:
:::: :::: {.column width=40%} ![](img/logic-hills.png) :::: ::: ::: :::{#weiter-unten} ::::{.h5p-autoembed .no-print} Planet: Logische Operatoren :::: ::: :::{.erledigt} ::: :::{.no-print} << Zurück zu TODO: %section% :::