HSZG Vorkurs Informatik WS 2014/Wahrheitswerte und Bedingungen/Teil 1
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Java</language>
An dieser Stelle wollen wir ein weiteres wichtiges Programmierwerkzeug kennen lernen. Der '''Datentyp boolean''' ermöglicht uns die Verwendung von Variablen, die einen Wahrheitswert, also '''true''' oder '''false''' repräsentieren. Solche Variablen können im einfachsten Fall z.B. wie folgt initialisiert werden:
<code id="5419b75403346">boolean w1 = true;
boolean w2 = false;</code>
Um einen Wahrheitswert automatisch zu ermitteln, stehen uns folgende Vergleichsoperatoren zur Verfügung:
<center>
{| style="text-align:center;border:solid grey 1px" cellpadding=3 cellspacing=0
|- style="background:#FFE466;"
! Operator !! Bezeichnung !! Bedeutung
|-
| <span style="color:red">==</span> || Gleich || a==b ergibt true, wenn a gleich b ist.
|-
| <span style="color:red">!=</span> || Ungleich || a!=b ergibt true, wenn a ungleich b ist.
|-
| <span style="color:red"><</span> || Kleiner || a < b ergibt true, wenn a kleiner b ist.
|-
| <span style="color:red"><=</span> || Kleiner gleich || a<=b ergibt true, wenn a kleiner gleich b ist.
|-
| <span style="color:red">></span> || Größer || a>b ergibt true, wenn a größer b ist.
|-
| <span style="color:red">>=</span> || Größer gleich || a>=b ergibt true, wenn a größer gleich b ist.
|}
</center>
Beispiel: Wir möchten testen, ob die Variablen x und y den gleichen Wert besitzen:
<run id="5419b5b3112b9">int x=4;
int y=3;
boolean w3 = x==y;
System.out.println(w3);
</run>
Modifizieren Sie das Beispiel oben, indem Sie andere Vergleichsoperatoren einsetzen!
Des Weiteren stehen uns eine Reihe von logischen Operatoren zur Verfügung:
<center>
{| style="text-align:center;border:solid grey 1px" cellpadding=3 cellspacing=0
|- style="background:#FFE466;"
! Operator !! Bezeichnung !! Bedeutung
|-
| <span style="color:red">!</span> || Logisches NICHT || !a ergibt false, wenn a wahr ist und true, wenn a falsch ist
|-
| <span style="color:red">&&</span> || UND (Short-Circuit) || a && b ergibt wahr wenn a und b wahr sind, sonst falsch. Ist a bereits falsch wird falsch zurückgegeben und b nicht mehr ausgewertet.
|-
| <span style="color:red"><pre>||</pre></span> || ODER (Short-Circuit) || ergibt falsch wenn a und b falsch sind, sonst wahr. Ist a bereits wahr wird b nicht emhr ausgewertet.
|-
| <span style="color:red">&</span> || UND || ergibt wahr wenn a und b wahr sind, sonst falsch. Überprüft beide Operanden.
|-
| <span style="color:red"><pre>|</pre></span> || ODER || ergibt falsch wenn a und b falsch sind, sonst wahr. Überprüft beide Operanden.
|-
| <span style="color:red">^</span> || Exklusiv-ODER || a ^ b ergibt wahr wenn a und b verschiedene Wahrheitswerte haben.
|}
</center>
Auch dazu sehen wir uns Beispiele an:
<run id="5419b754033d5">
boolean a = wahr;
boolean b = wahr;
boolean test = a&&b;
System.out.println(test);
</run>
Experimentieren Sie mit dem Beispiel oben, indem Sie die Werte von a und b ändern und indem Sie andere logische Operatoren einsetzen!
'''Aufgabe 1'''
Gegeben sind zwei Variablen x und y mit den Werten 10 und 80:
<code id="5419bcb2cca1e">
int x = 10;
int y = 80;
</code>
Mit diesen Variablen soll eine Reihe von Tests durchgeführt werden. Ersetzen Sie die Fragezeichen jeweils durch einen Ausdruck, der true oder false ergibt. Verwenden Sie dazu die Vergleichsoperatoren.
a. Ist die Variable x kleiner als y?
<code id="5419bcb2ccac1">
boolean test = false;
test = ??;
System.out.println(test);
</code>
<run id="5419bcb2cceec"></run>
b. Ist y identisch mit x?
<code id="5419bcb2ccb47">test = ??;
System.out.println(test);</code>
c. Ist das Vierfache von x größer als y?
<code id="5419bcb2ccbc7">test = ??;
System.out.println(test);</code>
d. Liegt x zwischen 50 und 75?
<code id="5419bcb2ccc48">test = ??;
System.out.println(test);</code>
e. Liegt x zwischen -23 und 123?
<code id="5419bcb2cccc8">test = ??;
System.out.println(test);</code>
f. Liegt 25 zwischen x und y?
<code id="5419bcb2ccd49">test = ??;
System.out.println(test);</code>
g. Entspricht die Summe von x und y der Zahl 100?
<code id="5419bcb2ccdca">test = ??;
System.out.println(test);</code>
h. Liegt y nicht zwischen 3 und 13?
<code id="5419bcb2cce4f">test = ??;
System.out.println(test);</code>