Введение
В этом практическом занятии (лабораторной работе) вы научитесь проверять, является ли число положительным на Java. Мы начнем с написания простой программы для сравнения числа с нулем с использованием базовых условных операторов.
Затем вы расширите свои знания, проверив как целые числа (integer), так и числа с плавающей точкой (double), и узнаете, как обрабатывать различные числовые представления. Наконец, мы рассмотрим, как обрабатывать крайние случаи, в частности, как правильно определить и обработать случай, когда число равно нулю.
Сравнение числа с нулем
На этом этапе мы напишем простую программу на Java для сравнения числа с нулем. Это познакомит вас с базовыми условными операторами в Java, в частности с оператором if. Условные операторы позволяют вашей программе принимать решения на основе определенных условий.
Сначала убедитесь, что вы находитесь в правильной директории. Откройте Терминал внизу WebIDE и введите следующую команду, затем нажмите Enter:
cd ~/projectЭто гарантирует, что вы находитесь в директории
~/project, где мы создадим наш Java-файл.Теперь создадим новый Java-файл с именем
CompareNumber.java. Вы можете сделать это, щелкнув правой кнопкой мыши в проводнике файлов слева, выбрав "New File" и введяCompareNumber.java. В качестве альтернативы вы можете использовать Терминал:touch CompareNumber.javaОткройте файл
CompareNumber.javaв редакторе кода, кликнув на него в проводнике файлов.Скопируйте и вставьте следующий код Java в редактор:
public class CompareNumber { public static void main(String[] args) { int number = 10; // Мы будем сравнивать это число с нулем if (number > 0) { System.out.println("The number is positive."); } } }Рассмотрим новые части этого кода:
int number = 10;: Эта строка объявляет переменную с именемnumberтипаint(целое число) и присваивает ей значение 10. Переменные используются для хранения данных в вашей программе.if (number > 0): Это операторif. Он проверяет, является ли условие в скобках (number > 0) истинным. Если условие истинно, то код в фигурных скобках{}, который следует за ним, будет выполнен.System.out.println("The number is positive.");: Эта строка будет выполнена только в том случае, еслиnumberбольше 0.
Сохраните файл (Ctrl+S или Cmd+S).
Теперь скомпилируйте программу на Java с использованием команды
javacв Терминале:javac CompareNumber.javaЕсли нет ошибок, в директории
~/projectбудет создан файлCompareNumber.class.Наконец, запустите скомпилированную программу с использованием команды
java:java CompareNumberПоскольку переменная
numberустановлена в значение 10 (что больше 0), вы должны увидеть следующий вывод:The number is positive.
Вы успешно написали и запустили программу на Java, которая использует оператор if для сравнения числа с нулем. На следующем этапе мы расширим эту программу для обработки различных случаев.
Тестирование с использованием целых чисел (Integer) и чисел с плавающей точкой (Double)
На предыдущем этапе мы сравнили целое число с нулем. Java поддерживает различные типы чисел, включая целые числа (integer) и числа с плавающей точкой (floating-point numbers). На этом этапе мы модифицируем нашу программу для тестирования как с целыми числами (integer), так и с числами с плавающей точкой (double) и введем оператор else для обработки случая, когда число не является положительным.
Откройте файл
CompareNumber.javaв редакторе WebIDE, если он еще не открыт.Измените код, добавив блок
else. Замените существующий код следующим:public class CompareNumber { public static void main(String[] args) { int number = -5; // Давайте протестируем с отрицательным целым числом if (number > 0) { System.out.println("The number is positive."); } else { System.out.println("The number is not positive."); } } }Вот что нового:
int number = -5;: Мы изменили значение переменнойnumberна -5, чтобы протестировать условиеelse.else { ... }: Блокelseвыполняется, если условие в предыдущем оператореifложно. В данном случае, еслиnumber > 0ложно, то код внутри блокаelseбудет выполнен.
Сохраните файл (Ctrl+S или Cmd+S).
Скомпилируйте модифицированную программу в Терминале:
javac CompareNumber.javaЗапустите скомпилированную программу:
java CompareNumberПоскольку
numberравно -5, условиеif(-5 > 0) ложно, поэтому будет выполнен блокelse. Вы должны увидеть следующий вывод:The number is not positive.Теперь давайте протестируем с числом типа
double(числом с плавающей точкой). Измените код еще раз:public class CompareNumber { public static void main(String[] args) { double decimalNumber = 3.14; // Протестируем с положительным числом типа double if (decimalNumber > 0) { System.out.println("The number is positive."); } else { System.out.println("The number is not positive."); } } }Мы изменили тип переменной на
doubleи присвоили ей десятичное значение.Сохраните файл.
Скомпилируйте программу:
javac CompareNumber.javaЗапустите программу:
java CompareNumberПоскольку
decimalNumberравно 3.14 (что больше 0), условиеifбудет истинным, и вы должны увидеть следующий вывод:The number is positive.
Теперь вы знаете, как использовать оператор else и как работает сравнение как с целыми числами (integer), так и с числами с плавающей точкой (double). На следующем этапе мы обработаем конкретный случай, когда число равно ровно нулю.
Обработка граничных случаев, таких как ноль
На предыдущих этапах мы обрабатывали положительные и неположительные числа. Однако мы не рассмотрели конкретный случай, когда число равно ровно нулю. В программировании обработка таких "граничных случаев" (edge cases) важна для того, чтобы убедиться, что ваша программа ведет себя корректно во всех ситуациях. На этом этапе мы используем оператор else if для добавления специальной проверки на ноль.
Откройте файл
CompareNumber.javaв редакторе WebIDE.Измените код, добавив блок
else ifдля проверки на ноль. Замените существующий код следующим:public class CompareNumber { public static void main(String[] args) { int number = 0; // Давайте протестируем с нулем if (number > 0) { System.out.println("The number is positive."); } else if (number == 0) { System.out.println("The number is zero."); } else { System.out.println("The number is negative."); } } }Рассмотрим изменения:
int number = 0;: Мы установили значение переменнойnumberравным 0, чтобы протестировать новое условие.else if (number == 0): Это операторelse if. Он проверяется только в том случае, если предыдущее условиеif(number > 0) ложно. Условиеnumber == 0проверяет, равно ли значение переменнойnumberровно 0. Обратите внимание на двойной знак равенства (==) для сравнения, так как одинарный знак равенства (=) используется для присваивания.System.out.println("The number is zero.");: Эта строка будет выполнена, еслиnumberравно ровно 0.- Последний блок
elseтеперь специально обрабатывает случай, когда число не является положительным и не равно нулю, то есть оно должно быть отрицательным.
Сохраните файл (Ctrl+S или Cmd+S).
Скомпилируйте модифицированную программу в Терминале:
javac CompareNumber.javaЗапустите скомпилированную программу:
java CompareNumberПоскольку
numberравно 0, первое условиеif(0 > 0) ложно. Условиеelse if(0 == 0) истинно, поэтому будет выполнен его блок. Вы должны увидеть следующий вывод:The number is zero.Теперь давайте снова протестируем с отрицательным числом. Измените значение переменной
numberна -10:public class CompareNumber { public static void main(String[] args) { int number = -10; // Протестируем с отрицательным числом if (number > 0) { System.out.println("The number is positive."); } else if (number == 0) { System.out.println("The number is zero."); } else { System.out.println("The number is negative."); } } }Сохраните файл.
Скомпилируйте программу:
javac CompareNumber.javaЗапустите программу:
java CompareNumberПоскольку
numberравно -10, условиеif(-10 > 0) ложно, и условиеelse if(-10 == 0) также ложно. Поэтому будет выполнен последний блокelse, и вы должны увидеть следующий вывод:The number is negative.
Теперь вы успешно использовали операторы if, else if и else для сравнения числа с нулем и определения, является ли оно положительным, отрицательным или равным нулю. Это фундаментальный шаблон для принятия решений в ваших программах на Java.
Резюме
В этом практическом занятии (lab) мы начали с изучения того, как настроить среду разработки, перейдя в правильную директорию и создав новый файл на Java. Затем мы познакомились с фундаментальным концептом условных операторов (conditional statements) в Java с использованием оператора if. Создав простую программу, мы научились объявлять целочисленную переменную, присваивать ей значение и использовать оператор > в условии if для проверки, является ли число больше нуля. Мы увидели, что блок кода внутри оператора if выполняется только тогда, когда условие истинно, и узнали, как вывести сообщение, указывающее, что число положительное.



