Nein.
Alles was Sie brauchen ist Geld ODER Kredit. Eines von beiden würde ausreichen. Natürlich, wenn Sie eine Menge Geld und eine Menge Kredit hätten, dann könnten Sie den Wagen selbstverständlich auch kaufen.
Manchmal muss ein Programm überprüfen, ob nur eine der Bedingungen erfüllt wurde. Wie das beim Autokauf-Problem umgesetzt wurde sehen Sie hier:
// Sportwagenkauf
//
// Sie benötigen $25.000 in bar oder einen Kredit
// für einen heißen roten Miata Sportwagen.
//
import java.io.*;
class HotWheels
{
public static void main (String[] args) throws IOException
{
BufferedReader stdin =
new BufferedReader ( new InputStreamReader( System.in ) );
String inData;
int bargeld, kredit ;
// Bargeld einholen
System.out.println("Wie viel Bargeld?");
inData = stdin.readLine();
bargeld = Integer.parseInt( inData );
// Kreditlinie einholen
System.out.println("Wie viel Kredit?");
inData = stdin.readLine();
kredit = Integer.parseInt( inData );
// überprüfen, dass zumindest eine der Bedingungen erfüllt ist
if ( bargeld >= 25000 || kredit >= 25000 )
System.out.println("Genug, um diesen Wagen zu kaufen!" );
else
System.out.println("Wie waere es mit einem Mofa?" );
}
}
Das Symbol ||
(Senkrechter-Strich Senkrechter-Strich)
bedeutet "ODER."
Auf Ihrer (deutschen) Tastatur ist es das dritte Zeichen auf der <-Taste. Sie erhalten es, wenn Sie die AltGr-Taste gedrückt halten und dann die <-Taste tippen.
Es ergibt wahr, wenn eine Bedingung erfüllt ist oder wenn beide Bedingungen erfüllt sind.
Die if
-Anweisung stellt eine Frage in zwei Teilen:
if bargeld >= 25000 || kredit >= 25000
---------------- ---------------
Bargeld-Teil Kredit-Teil
Jeder dieser Teile ist ein relationaler Ausdruck
(genau wie bei den vorherigen Programmen in diesem Kapitel).
Ein relationaler Ausdruck betrachtet zwei Zahlen und ergibt true
oder false
.
Ein logischer Ausdruck ermittelt einen einzelnen
true
- oder false
-Wert aus zwei oder mehreren
true/false-Werten.