Video: Java Tutorial Deutsch (German) [7/24] - If-Abfragen 2024
Hier ist ein Java-Rätsel: Du hast zwei Baseballmannschaften - die Hankees und die Socken. Sie möchten die Ergebnisse der Teams auf zwei separaten Linien anzeigen, wobei die Punktzahl des Gewinners zuerst aufgeführt wird. (Auf dem Computerbildschirm wird die Punktzahl des Gewinners über der Punktzahl des Verlierers angezeigt.) Was passiert, wenn die Ergebnisse gleich sind?
Gibst du auf? Die Antwort ist, es gibt keine richtige Antwort. Was passiert, hängt davon ab, wie Sie das Programm schreiben. Wenn die Bewertungen gleich sind, ist die Bedingung
hankees> socks
falsch
. Der Ausführungsablauf des Programms fällt also auf die Klausel
else
. Diese Klausel zeigt zuerst die Socken-Punktzahl an, und die Hankees-Punkte sind die zweiten.
importjava. Nutz. Scanner;
importiert statisches Java. lang. System. im;
importiert statisches Java. lang. System. aus;
classTwoTeams {
public static void main (Zeichenfolge args []) {
Scannertastatur = neuer Scanner (in );
inthankees, Socken;
aus. Drucke ("Hankees und Socks Punkte?");
hankees = Tastatur. nextInt ();
Socken = Tastatur. nextInt ();
heraus. println ();
wenn (hankees> Socken) {
out. drucken ("Hankees:");
heraus. Druck (hankees);
heraus. drucken ("Socken:");
heraus. Druck (Socken);
} else {
aus. drucken ("Socken:");
heraus. Druck (Socken);
heraus. drucken ("Hankees:");
heraus. Druck (hankees);
}
Tastatur. schließen();
}
}
Das Programm muss nicht so funktionieren. Wenn Sie diesen Code nehmen und
hankees> Socken
in
hankees> = Socken
ändern, dann kommt im Falle eines Unentschieden der Hankees-Wert zuerst.
Angenommen, Sie möchten etwas mehr Kontrolle haben. Wenn die Ergebnisse gleich sind, möchten Sie eine Nachricht
Es ist ein Unentschieden
sehen. Denken Sie dazu an eine dreizackige Gabel. Sie haben einen Stachel für einen Hankees-Sieg, einen weiteren Stachel für einen Socks-Sieg und einen dritten Stachel für ein Unentschieden. Sie können diesen Code auf verschiedene Arten schreiben, aber ein Weg, der viel Sinn macht, ist der Code unten.
importiert Java. Nutz. Scanner;
importiert statisches Java. lang. System. aus;
Klasse WinLoseOrTie {
public static void main (Zeichenfolge args []) {
Scannertastatur = neuer Scanner (System. In);
int hankees, Socken;
heraus. Drucke ("Hankees und Socks Punkte?");
hankees = Tastatur. nextInt ();
Socken = Tastatur. nextInt ();
heraus. println ();
wenn (hankees> Socken) {
out. println ("Hankees gewinnen …");
heraus. drucken ("Hankees:");
heraus. Druck (hankees);
heraus. drucken ("Socken:");
heraus. Druck (Socken);
} sonst wenn (Socken> hankees) {
out.println ("Socken gewinnen …");
heraus. drucken ("Socken:");
heraus. Druck (Socken);
heraus. drucken ("Hankees:");
aus. Druck (hankees);
} else {
aus. println ("Es ist eine Krawatte …");
heraus. drucken ("Hankees:");
heraus. Druck (hankees);
heraus. drucken ("Socken:");
heraus. Druck (Socken);
}
Tastatur. schließen();
}
}
Dieser Code illustriert eine Denkweise über ein Problem. Sie haben eine Frage mit mehr als zwei Antworten. (Die Frage ist "Wer gewinnt?" Und die Antworten sind "Hankees", "Socks" oder "Weder".) Das Problem bittet um eine if-Anweisung, aber eine
if
-Anweisung hat nur zwei Zweige - der
echte
Zweig und der
falsche
Zweig. Sie kombinieren also Alternativen zu Cascading
if
-Anweisungen.
Hier ist das Format für die kaskadierenden
if
-Anweisungen
if (Bedingung1) {
SomeStatements
} else if (Bedingung2) {
OtherStatements
} else {
EvenMoreStatements
}
Im Allgemeinen können Sie
else verwenden, wenn
so oft Sie wollen:
falls (hankeesWin) {
out. println ("Hankees gewinnen …");
heraus. drucken ("Hankees:");
heraus. Druck (hankees);
heraus. drucken ("Socken:");
heraus. Druck (Socken);
} else wenn (socksWin) {
out. println ("Socken gewinnen …");
heraus. drucken ("Socken:");
heraus. Druck (Socken);
heraus. drucken ("Hankees:");
aus. Druck (hankees);
} else wenn (isATie) {
out. println ("Es ist eine Krawatte …");
heraus. drucken ("Hankees:");
heraus. Druck (hankees);
heraus. drucken ("Socken:");
heraus. Druck (Socken);
} else wenn (gameCancelled) {
aus. println ("Entschuldigung, Sportfans.");
} else {
aus. println ("Das Spiel ist noch nicht vorbei.");
}
Nichts ist besonders beim Kaskadieren von
- Anweisungen
. Dies ist keine neue Programmiersprache. Cascading
if
-Anweisungen nutzen ein Schlupfloch in Java - ein Schlupfloch, um unter bestimmten Umständen geschweifte Klammern wegzulassen. Mit anderen Worten: Kaskadierende Anweisungen
für
geben Ihnen eine neue Möglichkeit, über Entscheidungen in Ihrem Code nachzudenken.