Einführung
In diesem Lab lernen Sie, wie Sie in Java zwei Zahlen vergleichen, um festzustellen, ob eine größer als die andere ist. Wir werden die Verwendung von Vergleichsoperatoren untersuchen, insbesondere des "größer als"-Operators (>), der für bedingte Entscheidungen in der Programmierung von grundlegender Bedeutung ist.
Durch praktische Übungen werden Sie Code implementieren, um Benutzereingaben zu lesen, den "größer als"-Operator anzuwenden, um verschiedene numerische Typen zu vergleichen, und Fälle zu behandeln, in denen die Zahlen gleich sind. Dieses Lab bietet praktische Erfahrungen in der Verwendung von bedingten Anweisungen und Vergleichsoperatoren in Java.
Verwendung des Vergleichsoperators für 'größer als'
In diesem Schritt lernen wir, wie man in Java Vergleichsoperatoren verwendet, um zwei Zahlen zu vergleichen. Insbesondere werden wir uns auf den "größer als"-Operator (>) konzentrieren. Vergleichsoperatoren sind in der Programmierung von grundlegender Bedeutung, da sie es uns ermöglichen, Entscheidungen auf der Grundlage der Beziehung zwischen Werten zu treffen.
Erstellen wir ein neues Java-Programm, um den "größer als"-Operator zu demonstrieren.
Öffnen Sie die Datei
HelloJava.javaim WebIDE-Editor, wenn sie noch nicht geöffnet ist.Ersetzen Sie den gesamten Inhalt der Datei durch folgenden Code:
import java.util.Scanner; public class HelloJava { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Enter the first number: "); int number1 = scanner.nextInt(); System.out.print("Enter the second number: "); int number2 = scanner.nextInt(); if (number1 > number2) { System.out.println("The first number is greater than the second number."); } scanner.close(); } }Schauen wir uns die neuen Teile dieses Codes an:
import java.util.Scanner;: Wir benötigen immer noch denScanner, um Eingaben vom Benutzer zu erhalten.System.out.print("Enter the first number: ");: Fordert den Benutzer auf, die erste Zahl einzugeben.int number1 = scanner.nextInt();: Liest die erste ganze Zahl, die vom Benutzer eingegeben wurde, und speichert sie in der Variablennumber1.System.out.print("Enter the second number: ");: Fordert den Benutzer auf, die zweite Zahl einzugeben.int number2 = scanner.nextInt();: Liest die zweite ganze Zahl, die vom Benutzer eingegeben wurde, und speichert sie in der Variablennumber2.if (number1 > number2): Hier verwenden wir den "größer als"-Operator (>). Diese Zeile prüft, ob der Wert vonnumber1größer als der Wert vonnumber2ist. Der Code innerhalb der geschweiften Klammern{}wird nur ausgeführt, wenn diese Bedingung wahr ist.System.out.println("The first number is greater than the second number.");: Diese Zeile wird ausgegeben, wennnumber1tatsächlich größer alsnumber2ist.
Speichern Sie die Datei (Strg+S oder Cmd+S).
Kompilieren Sie das geänderte Programm im Terminal:
javac HelloJava.javaWenn es keine Kompilierungsfehler gibt, wird keine Ausgabe angezeigt.
Führen Sie das kompilierte Programm aus:
java HelloJavaDas Programm fordert Sie auf, zwei Zahlen einzugeben. Geben Sie für die erste Eingabeaufforderung eine Zahl ein, drücken Sie die Eingabetaste, geben Sie dann eine zweite Zahl ein und drücken Sie erneut die Eingabetaste.
Beispielsweise, wenn Sie
10für die erste Zahl und5für die zweite Zahl eingeben, wird die Ausgabe wie folgt lauten:Enter the first number: 10 Enter the second number: 5 The first number is greater than the second number.Wenn Sie
5für die erste Zahl und10für die zweite Zahl eingeben, wird nach der Eingabe der zweiten Zahl keine Ausgabe angezeigt, da die Bedingungnumber1 > number2falsch ist.
Sie haben erfolgreich den "größer als"-Vergleichsoperator verwendet, um zwei Zahlen zu vergleichen und Code auf der Grundlage des Ergebnisses auszuführen.
Testen mit verschiedenen numerischen Typen
Im vorherigen Schritt haben wir zwei ganze Zahlen verglichen. Java verfügt über verschiedene numerische Typen, um verschiedene Arten von Zahlen zu verarbeiten, wie ganze Zahlen (Integers) und Zahlen mit Dezimalstellen (Gleitkommazahlen). In diesem Schritt werden wir untersuchen, wie Vergleichsoperatoren mit verschiedenen numerischen Typen funktionieren.
Java hat mehrere primitive numerische Typen, darunter:
int: für ganze Zahlen (Integers)double: für Gleitkommazahlen (Zahlen mit Dezimalstellen)float: ebenfalls für Gleitkommazahlen, aber im Allgemeinen weniger genau alsdoublelong: für sehr große ganze Zahlen
Vergleichsoperatoren wie > können verwendet werden, um Werte verschiedener numerischer Typen zu vergleichen. Java führt oft eine automatische Typumwandlung (Widening) durch, um den Vergleich möglich zu machen. Beispielsweise wird beim Vergleich eines int und eines double der int vor dem Vergleich in einen double umgewandelt.
Ändern wir unser Programm, um eine ganze Zahl und eine Gleitkommazahl zu vergleichen.
Öffnen Sie die Datei
HelloJava.javaim WebIDE-Editor.Ersetzen Sie den vorhandenen Code durch folgenden:
import java.util.Scanner; public class HelloJava { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Enter an integer: "); int intNumber = scanner.nextInt(); System.out.print("Enter a decimal number: "); double doubleNumber = scanner.nextDouble(); if (intNumber > doubleNumber) { System.out.println("The integer is greater than the decimal number."); } if (doubleNumber > intNumber) { System.out.println("The decimal number is greater than the integer."); } scanner.close(); } }In diesem aktualisierten Code:
- Wir lesen jetzt einen
intin die VariableintNumberein, indem wirscanner.nextInt()verwenden. - Wir lesen einen
doublein die VariabledoubleNumberein, indem wirscanner.nextDouble()verwenden. - Wir verwenden den
>-Operator, umintNumberunddoubleNumberzu vergleichen. Beachten Sie, dass wir eine zweiteif-Anweisung hinzugefügt haben, um zu prüfen, ob die Gleitkommazahl größer als die ganze Zahl ist.
- Wir lesen jetzt einen
Speichern Sie die Datei (Strg+S oder Cmd+S).
Kompilieren Sie das Programm im Terminal:
javac HelloJava.javaFühren Sie das Programm aus:
java HelloJavaGeben Sie bei entsprechender Aufforderung eine ganze Zahl und eine Gleitkommazahl ein.
Beispielsweise, wenn Sie
10für die ganze Zahl und9.5für die Gleitkommazahl eingeben, wird die Ausgabe wie folgt lauten:Enter an integer: 10 Enter a decimal number: 9.5 The integer is greater than the decimal number.Wenn Sie
5für die ganze Zahl und5.1für die Gleitkommazahl eingeben, wird die Ausgabe wie folgt lauten:Enter an integer: 5 Enter a decimal number: 5.1 The decimal number is greater than the integer.
Dies zeigt, dass Java verschiedene numerische Typen mithilfe des "größer als"-Operators vergleichen kann.
Behandlung gleicher Zahlen
In den vorherigen Schritten haben wir den "größer als"-Operator (>) verwendet, um zu prüfen, ob eine Zahl größer als eine andere ist. Was passiert jedoch, wenn die beiden Zahlen gleich sind? Unser aktuelles Programm behandelt diesen Fall nicht explizit.
In diesem Schritt lernen wir, wie man die Gleichheit mithilfe des Gleichheitsoperators (==) prüft und wie man if-else if-else-Anweisungen verwendet, um mehrere Möglichkeiten zu behandeln, einschließlich des Falls, dass die Zahlen gleich sind.
Der Gleichheitsoperator (==) in Java wird verwendet, um zu prüfen, ob zwei Werte gleich sind. Er gibt true zurück, wenn die Werte gleich sind, und false sonst.
Ändern wir unser Programm, um zwei Zahlen zu vergleichen und eine Nachricht auszugeben, die angibt, ob die erste Zahl größer als, kleiner als oder gleich der zweiten Zahl ist.
Öffnen Sie die Datei
HelloJava.javaim WebIDE-Editor.Ersetzen Sie den vorhandenen Code durch folgenden:
import java.util.Scanner; public class HelloJava { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Enter the first number: "); double number1 = scanner.nextDouble(); System.out.print("Enter the second number: "); double number2 = scanner.nextDouble(); if (number1 > number2) { System.out.println("The first number is greater than the second number."); } else if (number1 < number2) { System.out.println("The first number is less than the second number."); } else { System.out.println("The two numbers are equal."); } scanner.close(); } }Schauen wir uns die Änderungen an:
- Wir lesen jetzt zwei
double-Werte ein, um die Tests flexibler zu gestalten. if (number1 > number2): Dies ist die gleiche Prüfung wie zuvor. Wennnumber1größer alsnumber2ist, wird die erste Nachricht ausgegeben.else if (number1 < number2): Dies ist ein neuer Teil. Derelse if-Block wird nur ausgeführt, wenn die vorherigeif-Bedingung (number1 > number2) falsch ist. Hier verwenden wir den "kleiner als"-Operator (<), um zu prüfen, obnumber1kleiner alsnumber2ist.else: Dieser Block wird ausgeführt, wenn keine der vorhergehendenif- oderelse if-Bedingungen wahr ist. In diesem Fall, wennnumber1nicht größer alsnumber2und nicht kleiner alsnumber2ist, muss es gleichnumber2sein.
- Wir lesen jetzt zwei
Speichern Sie die Datei (Strg+S oder Cmd+S).
Kompilieren Sie das Programm im Terminal:
javac HelloJava.javaFühren Sie das Programm aus:
java HelloJavaGeben Sie zwei Zahlen ein, einschließlich Fälle, in denen sie gleich sind.
Wenn Sie
7.5für die erste Zahl und7.5für die zweite Zahl eingeben, wird die Ausgabe wie folgt lauten:Enter the first number: 7.5 Enter the second number: 7.5 The two numbers are equal.Wenn Sie
10und5eingeben, sehen Sie "The first number is greater than the second number." Wenn Sie5und10eingeben, sehen Sie "The first number is less than the second number."
Sie haben nun erfolgreich if-else if-else-Anweisungen und den Gleichheitsoperator (==) verwendet, um verschiedene Vergleichsergebnisse, einschließlich Gleichheit, zu behandeln.
Zusammenfassung
In diesem Lab haben wir gelernt, wie man in Java prüft, ob eine Zahl größer als eine andere ist. Wir begannen damit, den Vergleichsoperator > innerhalb einer if-Anweisung zu verwenden, um zwei ganze Zahlenwerte zu vergleichen, die vom Benutzer eingegeben wurden. Dies demonstrierte das grundlegende Konzept der Verwendung von Vergleichsoperatoren, um Entscheidungen in unserem Code zu treffen.
Anschließend haben wir untersucht, wie man verschiedene numerische Typen behandelt, um sicherzustellen, dass unsere Vergleichslogik für verschiedene Datentypen wie double und float korrekt funktioniert. Schließlich haben wir das Szenario behandelt, in dem die beiden Zahlen gleich sind, und unsere bedingte Logik erweitert, um den "größer als oder gleich"-Operator (>=) einzubeziehen oder separate Prüfungen auf Gleichheit durchzuführen.



