Введение
В этом лабораторном занятии вы научитесь сравнивать два числа на Java, чтобы определить, больше ли одно из них другого. Мы рассмотрим использование операторов сравнения, в частности оператора "больше чем" (>), который является фундаментальным для принятия условных решений в программировании.
С помощью практических упражнений вы реализуете код для чтения пользовательского ввода, примените оператор "больше чем" для сравнения различных числовых типов и обработаете случаи, когда числа равны. В этом лабораторном занятии вы получите практический опыт использования условных операторов и операторов сравнения на Java.
Использование оператора сравнения "больше чем"
На этом этапе мы научимся использовать операторы сравнения на Java для сравнения двух чисел. В частности, мы сосредоточимся на операторе "больше чем" (>). Операторы сравнения являются фундаментальными в программировании, так как они позволяют нам принимать решения на основе отношения между значениями.
Создадим новую Java-программу, чтобы продемонстрировать использование оператора "больше чем".
Откройте файл
HelloJava.javaв редакторе WebIDE, если он еще не открыт.Замените все содержимое файла следующим кодом:
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(); } }Рассмотрим новые части этого кода:
import java.util.Scanner;: Мы по-прежнему нуждаемся в классеScannerдля получения ввода от пользователя.System.out.print("Enter the first number: ");: Запрашивает у пользователя ввести первое число.int number1 = scanner.nextInt();: Считывает первое целое число, введенное пользователем, и сохраняет его в переменнойnumber1.System.out.print("Enter the second number: ");: Запрашивает у пользователя ввести второе число.int number2 = scanner.nextInt();: Считывает второе целое число, введенное пользователем, и сохраняет его в переменнойnumber2.if (number1 > number2): Именно здесь мы используем оператор "больше чем" (>). Эта строка проверяет, больше ли значениеnumber1значенияnumber2. Код внутри фигурных скобок{}будет выполнен только в том случае, если это условие истинно.System.out.println("The first number is greater than the second number.");: Эта строка будет выведена, еслиnumber1действительно большеnumber2.
Сохраните файл (Ctrl+S или Cmd+S).
Скомпилируйте модифицированную программу в терминале:
javac HelloJava.javaЕсли нет ошибок компиляции, вы не увидите никакого вывода.
Запустите скомпилированную программу:
java HelloJavaПрограмма попросит вас ввести два числа. Введите число по первому запросу, нажмите Enter, затем введите второе число и снова нажмите Enter.
Например, если вы введете
10в качестве первого числа и5в качестве второго числа, вывод будет следующим:Enter the first number: 10 Enter the second number: 5 The first number is greater than the second number.Если вы введете
5в качестве первого числа и10в качестве второго числа, после ввода второго числа не будет никакого вывода, так как условиеnumber1 > number2является ложным.
Вы успешно использовали оператор сравнения "больше чем" для сравнения двух чисел и выполнения кода на основе результата.
Тестирование с разными числовыми типами
На предыдущем этапе мы сравнили два целых числа. В Java есть разные числовые типы для работы с различными видами чисел, таких как целые числа (целые типы) и числа с десятичной точкой (числа с плавающей запятой). На этом этапе мы рассмотрим, как операторы сравнения работают с разными числовыми типами.
В Java есть несколько примитивных числовых типов, в том числе:
int: для целых чисел (целые типы)double: для чисел с плавающей запятой (числа с десятичной частью)float: также для чисел с плавающей запятой, но обычно менее точный, чемdoublelong: для очень больших целых чисел
Операторы сравнения, такие как >, можно использовать для сравнения значений разных числовых типов. Java часто выполняет автоматическое преобразование типов (расширение), чтобы сделать сравнение возможным. Например, при сравнении int и double значение int будет преобразовано в double перед сравнением.
Давайте модифицируем нашу программу, чтобы сравнить целое число и число с плавающей запятой.
Откройте файл
HelloJava.javaв редакторе WebIDE.Замените существующий код следующим:
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(); } }В этом обновленном коде:
- Теперь мы считываем
intв переменнуюintNumberс помощьюscanner.nextInt(). - Мы считываем
doubleв переменнуюdoubleNumberс помощьюscanner.nextDouble(). - Мы используем оператор
>для сравненияintNumberиdoubleNumber. Обратите внимание, что мы добавили второе условиеifдля проверки, больше ли число с десятичной частью целого числа.
- Теперь мы считываем
Сохраните файл (Ctrl+S или Cmd+S).
Скомпилируйте программу в терминале:
javac HelloJava.javaЗапустите программу:
java HelloJavaВведите целое число и число с десятичной частью по запросу.
Например, если вы введете
10в качестве целого числа и9.5в качестве числа с десятичной частью, вывод будет следующим:Enter an integer: 10 Enter a decimal number: 9.5 The integer is greater than the decimal number.Если вы введете
5в качестве целого числа и5.1в качестве числа с десятичной частью, вывод будет следующим:Enter an integer: 5 Enter a decimal number: 5.1 The decimal number is greater than the integer.
Это показывает, что Java может сравнивать разные числовые типы с использованием оператора "больше чем".
Обработка равных чисел
На предыдущих этапах мы использовали оператор "больше чем" (>) для проверки, является ли одно число больше другого. Однако, что произойдет, если два числа равны? Наша текущая программа не обрабатывает этот случай явно.
На этом этапе мы научимся проверять равенство с помощью оператора равенства (==) и использовать конструкции if-else if-else для обработки нескольких возможных сценариев, включая случай, когда числа равны.
Оператор равенства (==) в Java используется для проверки, равны ли два значения. Он возвращает true, если значения одинаковы, и false в противном случае.
Давайте модифицируем нашу программу, чтобы сравнить два числа и вывести сообщение, которое указывает, является ли первое число больше, меньше или равно второму числу.
Откройте файл
HelloJava.javaв редакторе WebIDE.Замените существующий код следующим:
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(); } }Рассмотрим изменения:
- Теперь мы считываем два значения типа
double, чтобы иметь больше гибкости при тестировании. if (number1 > number2): Это та же проверка, что и раньше. Еслиnumber1большеnumber2, выводится первое сообщение.else if (number1 < number2): Это новая часть. Блокelse ifвыполняется только в том случае, если предыдущее условиеif(number1 > number2) ложно. Здесь мы используем оператор "меньше чем" (<) для проверки, меньше лиnumber1чемnumber2.else: Этот блок выполняется, если ни одно из предыдущих условийifилиelse ifне является истинным. В этом случае, еслиnumber1не большеnumber2и не меньшеnumber2, оно должно быть равноnumber2.
- Теперь мы считываем два значения типа
Сохраните файл (Ctrl+S или Cmd+S).
Скомпилируйте программу в терминале:
javac HelloJava.javaЗапустите программу:
java HelloJavaВведите два числа, включая случаи, когда они равны.
Если вы введете
7.5в качестве первого числа и7.5в качестве второго числа, вывод будет следующим:Enter the first number: 7.5 Enter the second number: 7.5 The two numbers are equal.Если вы введете
10и5, вы увидите сообщение "The first number is greater than the second number." Если вы введете5и10, вы увидите сообщение "The first number is less than the second number."
Теперь вы успешно использовали конструкции if-else if-else и оператор равенства (==) для обработки различных результатов сравнения, включая случай равенства.
Резюме
В этом практическом занятии (лабораторной работе) мы научились проверять, является ли одно число больше другого в Java. Мы начали с использования оператора сравнения > в конструкции if для сравнения двух целых значений, введенных пользователем. Это показало фундаментальный концепт использования операторов сравнения для принятия решений в нашем коде.
Затем мы исследовали, как обрабатывать разные числовые типы, чтобы убедиться, что наша логика сравнения работает корректно для различных типов данных, таких как double и float. Наконец, мы рассмотрели сценарий, когда два числа равны, расширив нашу условную логику, чтобы включить оператор "больше или равно" (>=) или отдельные проверки на равенство.



