Введение
В этом практическом занятии (лабораторной работе) вы научитесь проверять, находится ли число в определенном диапазоне на Java. Мы рассмотрим основные концепции определения числового диапазона с использованием нижней и верхней границ, применение логических операторов для выполнения проверки диапазона и понять, как включать граничные значения в сравнения диапазонов. С помощью практических упражнений вы получите практический опыт внедрения этих методов в код на Java.
Определение диапазона с нижней и верхней границами
На этом этапе мы научимся определять числовой диапазон с использованием нижней и верхней границ на Java. Понимание работы с диапазонами является фундаментальным концептом в программировании, которое позволяет нам проверять, находится ли значение в определенном наборе чисел.
Диапазон представляет собой просто набор чисел между начальной точкой (нижней границей) и конечной точкой (верхней границей). Например, диапазон между 1 и 10 включает все числа от 1 до 10.
Давайте создадим простую программу на Java для определения и работы с диапазоном.
Откройте файл
HelloJava.javaв редакторе WebIDE, если он еще не открыт. Мы будем изменять этот файл для нашей новой программы.Замените все содержимое файла следующим кодом:
public class HelloJava { public static void main(String[] args) { // Define the lower and upper bounds of the range int lowerBound = 10; int upperBound = 50; // Print the defined range System.out.println("Defined Range: [" + lowerBound + ", " + upperBound + "]"); } }Давайте рассмотрим новые части этого кода:
int lowerBound = 10;: Эта строка объявляет целочисленную переменную с именемlowerBoundи присваивает ей значение 10. Это наша начальная точка для диапазона.int upperBound = 50;: Эта строка объявляет целочисленную переменную с именемupperBoundи присваивает ей значение 50. Это наша конечная точка для диапазона.System.out.println("Defined Range: [" + lowerBound + ", " + upperBound + "]");: Эта строка выводит сообщение в консоль, показывающее определенный диапазон с использованием значенийlowerBoundиupperBound. Символ+используется для объединения текстовых строк и значений переменных.
Сохраните файл (Ctrl+S или Cmd+S).
Теперь давайте скомпилируем нашу измененную программу. Откройте Терминал в нижней части WebIDE и убедитесь, что вы находитесь в каталоге
~/project. Затем выполните следующую команду:javac HelloJava.javaЕсли нет ошибок, компиляция прошла успешно.
Наконец, давайте запустим программу, чтобы увидеть вывод. В Терминале выполните:
java HelloJavaВы должны увидеть следующий вывод:
Defined Range: [10, 50]Это подтверждает, что наша программа правильно определила и вывела нижнюю и верхнюю границы диапазона.
На следующем этапе мы научимся проверять, находится ли число в этом определенном диапазоне с использованием логических операторов.
Использование логических операторов для проверки диапазона
На этом этапе мы научимся использовать логические операторы в Java для проверки, находится ли число в диапазоне, который мы определили на предыдущем этапе. Логические операторы используются для объединения или модификации булевых выражений (выражений, которые могут быть либо истинными, либо ложными).
Для проверки, находится ли число в диапазоне, определенном нижней и верхней границами, нам нужно проверить два условия:
- Является ли число больше или равно нижней границе?
- Является ли число меньше или равно верхней границе?
Оба этих условия должны быть истинными, чтобы число находилось в диапазоне. В Java мы используем логический оператор И (&&) для объединения этих двух условий.
Давайте изменим нашу программу HelloJava.java, чтобы включить в нее проверку диапазона.
Откройте файл
HelloJava.javaв редакторе WebIDE.Измените метод
main, чтобы включить переменную для числа, которое нужно проверить, и логику проверки диапазона. Замените существующее содержимое методаmainследующим:public static void main(String[] args) { // Define the lower and upper bounds of the range int lowerBound = 10; int upperBound = 50; // Define the number to check int numberToCheck = 35; // Check if the number is within the range using logical operators boolean isInRange = (numberToCheck >= lowerBound) && (numberToCheck <= upperBound); // Print the result System.out.println("Defined Range: [" + lowerBound + ", " + upperBound + "]"); System.out.println("Number to Check: " + numberToCheck); System.out.println("Is " + numberToCheck + " within the range? " + isInRange); }Вот что мы добавили:
int numberToCheck = 35;: Эта строка объявляет целочисленную переменнуюnumberToCheckи присваивает ей значение 35. Это число, которое мы хотим проверить по отношению к нашему диапазону.boolean isInRange = (numberToCheck >= lowerBound) && (numberToCheck <= upperBound);: Это ядро нашей проверки диапазона.numberToCheck >= lowerBound: Эта часть проверяет, является лиnumberToCheckбольше или равноlowerBound.numberToCheck <= upperBound: Эта часть проверяет, является лиnumberToCheckменьше или равноupperBound.&&: Это логический оператор И. Он возвращаетtrueтолько в том случае, если оба условия слева и справа от него являютсяtrue.- Результат всего этого выражения (
trueилиfalse) сохраняется в булевой переменной с именемisInRange.
- Теперь строки
System.out.printlnтакже выводят число, которое проверяется, и результат проверки диапазона.
Сохраните файл (Ctrl+S или Cmd+S).
Скомпилируйте измененную программу в Терминале:
javac HelloJava.javaЗапустите скомпилированную программу:
java HelloJavaВы должны увидеть вывод, похожий на следующий:
Defined Range: [10, 50] Number to Check: 35 Is 35 within the range? trueПоскольку 35 действительно находится между 10 и 50 (включительно), программа правильно выводит
true.
Попробуйте изменить значение numberToCheck на число вне диапазона (например, 5 или 60) и перекомпилируйте и перезапустите программу, чтобы увидеть, как изменится вывод.
Включение граничных значений в диапазон
На предыдущем этапе мы использовали операторы >= (больше или равно) и <= (меньше или равно) для проверки, находится ли число в диапазоне. Эти операторы являются важными, так как они включают граничные значения (нижнюю и верхнюю границы) в проверку диапазона.
Например, если наш диапазон [10, 50], число считается находящимся в диапазоне, если оно равно 10, 50 или любому числу между 10 и 50. Если бы мы использовали операторы > (больше) и < (меньше), то диапазон был бы (10, 50), что означает, что сами числа 10 и 50 не были бы включены.
Давайте подтвердим это поведение, проверив нашу программу с граничными значениями.
Откройте файл
HelloJava.javaв редакторе WebIDE.Мы проверим проверку диапазона с нижней и верхней границами. Измените метод
main, чтобы проверить какlowerBound, так иupperBoundв качествеnumberToCheck.public class HelloJava { public static void main(String[] args) { // Define the lower and upper bounds of the range int lowerBound = 10; int upperBound = 50; // Test with the lower bound int numberToCheck1 = lowerBound; boolean isInRange1 = (numberToCheck1 >= lowerBound) && (numberToCheck1 <= upperBound); System.out.println("Defined Range: [" + lowerBound + ", " + upperBound + "]"); System.out.println("Number to Check: " + numberToCheck1); System.out.println("Is " + numberToCheck1 + " within the range? " + isInRange1); System.out.println("---"); // Separator for clarity // Test with the upper bound int numberToCheck2 = upperBound; boolean isInRange2 = (numberToCheck2 >= lowerBound) && (numberToCheck2 <= upperBound); System.out.println("Number to Check: " + numberToCheck2); System.out.println("Is " + numberToCheck2 + " within the range? " + isInRange2); } }Мы добавили второй тестовый случай, используя
numberToCheck2, установленный равнымupperBound.Сохраните файл (Ctrl+S или Cmd+S).
Скомпилируйте измененную программу в Терминале:
javac HelloJava.javaЗапустите скомпилированную программу:
java HelloJavaВы должны увидеть вывод, похожий на следующий:
Defined Range: [10, 50] Number to Check: 10 Is 10 within the range? true --- Number to Check: 50 Is 50 within the range? trueКак вы можете видеть, как 10 (нижняя граница), так и 50 (верхняя граница) правильно определяются как находящиеся в диапазоне, потому что мы использовали операторы
>=и<=. Это подтверждает, что наша проверка диапазона включает граничные значения.
Понимание того, включает ли диапазон свои границы (включительно) или исключает их (исключительно), является важным при определении условий в ваших программах. Операторы >= и <= создают диапазон с включением границ.
Резюме
В этом практическом занятии (лабораторной работе) мы научились определять числовой диапазон в Java, устанавливая нижнюю и верхнюю границы с использованием целочисленных переменных. Мы изменили простую Java - программу, чтобы объявить эти границы и вывести определенный диапазон на консоль, поняв, как комбинировать текст и значения переменных для вывода. Этот фундаментальный шаг является важным для последующей проверки, находится ли число в этом заданном диапазоне.



