Video: Microsoft Azure OpenDev—June 2017 2024
Betrachten Sie dieses Beispiel, wenn Sie bessere Bedingungen in Java schreiben müssen. In Backgammon und anderen Würfelspielen ist Würfeln 3 und 5 nicht das Gleiche wie Würfeln 4 und 4, auch wenn die Summe für beide Würfel 8 ist. Der nächste Zug variiert, je nachdem, ob du verdoppeln würdest.
Damit der Computer zwei Würfel würfelt, führen Sie myRandom aus. nextInt (6) + 1 zweimal. Dann kombinieren Sie die beiden Rollen zu einer größeren, komplizierteren if-Anweisung.
Um ein Backgammon-Spiel zu simulieren (und viele andere, praktischere Situationen), müssen Bedingungen kombiniert werden.
Wenn die1 + die2 gleich 8 und die1 gleich der2 ist, …
Sie benötigen Dinge wie und und oder - Dinge, die Bedingungen miteinander verbinden können.. Java hat Operatoren, um diese Konzepte darzustellen.
Operator Symbol | Bedeutung | Beispiel |
---|---|---|
&& | und | 4 |
|| | oder | Alter <4 || 8 |
! | nicht | ! eachKidGetsTen |
Kombinierte Bedingungen, wie die in Tabelle 10-1, können sehr verwirrend sein. Deshalb müssen Sie vorsichtig vorgehen, wenn Sie solche Dinge verwenden. Hier ist eine kurze Erklärung für jedes Beispiel in der Tabelle:
-
4
Der Wert der age-Variablen ist größer als 4 und ist kleiner als 8. Die Zahlen 5, 6, 7, 8, 9 … sind alle größer als 4. Aber unter diesen Zahlen sind nur 5, 6 und 7 kleiner als 8. So erfüllen nur die Zahlen 5, 6 und 7 diese kombinierte Bedingung.
-
Alter <4 || 8
Der Wert der age-Variablen ist kleiner als 4 oder ist größer als 8. Um die Bedingung oder zu erstellen, verwenden Sie zwei Pipe-Symbole. Auf vielen US-amerikanischen Tastaturen finden Sie das Pipe-Symbol direkt über der Eingabetaste (die gleiche Taste wie der umgekehrte Schrägstrich, aber verschoben).
In dieser kombinierten Bedingung ist der Wert der Altersvariablen entweder kleiner als 4 oder größer als 8. Wenn z. B. eine Zahl kleiner als 4 ist, erfüllt die Zahl die Bedingung. Zahlen wie 1, 2 und 3 sind alle kleiner als 4, daher erfüllen diese Zahlen die kombinierte Bedingung.
Auch wenn eine Zahl größer als 8 ist, erfüllt die Zahl die kombinierte Bedingung. Zahlen wie 9, 10 und 11 sind alle größer als 8, daher erfüllen diese Zahlen die Bedingung.
-
! eachKidGetsTen
Sie werden möglicherweise durch das Ausrufezeichen verwirrt. Sie mögen das denken! eachKidGetsTen bedeutet: "Ja, jedes Kind bekommt zehn. "Aber das ist es nicht, was dieser Ausdruck bedeutet. Dieser Ausdruck sagt: "Die Variable eachKidGetsTen hat nicht und hat den Wert true."In Java und anderen Programmiersprachen steht ein Ausrufezeichen für negativ, für kein Weg, für nicht.
Der Wert einer booleschen Variablen ist entweder wahr oder falsch. Weil! bedeutet nicht, die Ausdrücke eachKidGetsTen und! eachKidGetsTen haben entgegengesetzte Werte. Also, wenn eachKidGetsTen wahr ist,! eachKidGetsTen ist falsch (und umgekehrt).
Java's || Operator ist inklusive. Dies bedeutet, dass du wahr wirst, wenn das Ding auf der linken Seite wahr ist, das Ding auf der rechten Seite wahr ist oder beide Dinge wahr sind. Zum Beispiel ist die Bedingung 2 <10 || 20 <30 ist wahr.
In Java können Sie Vergleiche nicht wie in normalem Englisch kombinieren. Auf Englisch können Sie sagen: "Wir haben drei bis zehn Leute am Esstisch. "Aber in Java erhalten Sie eine Fehlermeldung, wenn Sie 3