Как проверить, является ли число положительным в Java

JavaBeginner
Практиковаться сейчас

Введение

В этом практическом занятии (лабораторной работе) вы научитесь проверять, является ли число положительным на Java. Мы начнем с написания простой программы для сравнения числа с нулем с использованием базовых условных операторов.

Затем вы расширите свои знания, проверив как целые числа (integer), так и числа с плавающей точкой (double), и узнаете, как обрабатывать различные числовые представления. Наконец, мы рассмотрим, как обрабатывать крайние случаи, в частности, как правильно определить и обработать случай, когда число равно нулю.

Сравнение числа с нулем

На этом этапе мы напишем простую программу на Java для сравнения числа с нулем. Это познакомит вас с базовыми условными операторами в Java, в частности с оператором if. Условные операторы позволяют вашей программе принимать решения на основе определенных условий.

  1. Сначала убедитесь, что вы находитесь в правильной директории. Откройте Терминал внизу WebIDE и введите следующую команду, затем нажмите Enter:

    cd ~/project
    

    Это гарантирует, что вы находитесь в директории ~/project, где мы создадим наш Java-файл.

  2. Теперь создадим новый Java-файл с именем CompareNumber.java. Вы можете сделать это, щелкнув правой кнопкой мыши в проводнике файлов слева, выбрав "New File" и введя CompareNumber.java. В качестве альтернативы вы можете использовать Терминал:

    touch CompareNumber.java
    
  3. Откройте файл CompareNumber.java в редакторе кода, кликнув на него в проводнике файлов.

  4. Скопируйте и вставьте следующий код 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.
  5. Сохраните файл (Ctrl+S или Cmd+S).

  6. Теперь скомпилируйте программу на Java с использованием команды javac в Терминале:

    javac CompareNumber.java
    

    Если нет ошибок, в директории ~/project будет создан файл CompareNumber.class.

  7. Наконец, запустите скомпилированную программу с использованием команды java:

    java CompareNumber
    

    Поскольку переменная number установлена в значение 10 (что больше 0), вы должны увидеть следующий вывод:

    The number is positive.
    

Вы успешно написали и запустили программу на Java, которая использует оператор if для сравнения числа с нулем. На следующем этапе мы расширим эту программу для обработки различных случаев.

Тестирование с использованием целых чисел (Integer) и чисел с плавающей точкой (Double)

На предыдущем этапе мы сравнили целое число с нулем. Java поддерживает различные типы чисел, включая целые числа (integer) и числа с плавающей точкой (floating-point numbers). На этом этапе мы модифицируем нашу программу для тестирования как с целыми числами (integer), так и с числами с плавающей точкой (double) и введем оператор else для обработки случая, когда число не является положительным.

  1. Откройте файл CompareNumber.java в редакторе WebIDE, если он еще не открыт.

  2. Измените код, добавив блок 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 будет выполнен.
  3. Сохраните файл (Ctrl+S или Cmd+S).

  4. Скомпилируйте модифицированную программу в Терминале:

    javac CompareNumber.java
    
  5. Запустите скомпилированную программу:

    java CompareNumber
    

    Поскольку number равно -5, условие if (-5 > 0) ложно, поэтому будет выполнен блок else. Вы должны увидеть следующий вывод:

    The number is not positive.
    
  6. Теперь давайте протестируем с числом типа 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 и присвоили ей десятичное значение.

  7. Сохраните файл.

  8. Скомпилируйте программу:

    javac CompareNumber.java
    
  9. Запустите программу:

    java CompareNumber
    

    Поскольку decimalNumber равно 3.14 (что больше 0), условие if будет истинным, и вы должны увидеть следующий вывод:

    The number is positive.
    

Теперь вы знаете, как использовать оператор else и как работает сравнение как с целыми числами (integer), так и с числами с плавающей точкой (double). На следующем этапе мы обработаем конкретный случай, когда число равно ровно нулю.

Обработка граничных случаев, таких как ноль

На предыдущих этапах мы обрабатывали положительные и неположительные числа. Однако мы не рассмотрели конкретный случай, когда число равно ровно нулю. В программировании обработка таких "граничных случаев" (edge cases) важна для того, чтобы убедиться, что ваша программа ведет себя корректно во всех ситуациях. На этом этапе мы используем оператор else if для добавления специальной проверки на ноль.

  1. Откройте файл CompareNumber.java в редакторе WebIDE.

  2. Измените код, добавив блок 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 теперь специально обрабатывает случай, когда число не является положительным и не равно нулю, то есть оно должно быть отрицательным.
  3. Сохраните файл (Ctrl+S или Cmd+S).

  4. Скомпилируйте модифицированную программу в Терминале:

    javac CompareNumber.java
    
  5. Запустите скомпилированную программу:

    java CompareNumber
    

    Поскольку number равно 0, первое условие if (0 > 0) ложно. Условие else if (0 == 0) истинно, поэтому будет выполнен его блок. Вы должны увидеть следующий вывод:

    The number is zero.
    
  6. Теперь давайте снова протестируем с отрицательным числом. Измените значение переменной 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.");
            }
        }
    }
    
  7. Сохраните файл.

  8. Скомпилируйте программу:

    javac CompareNumber.java
    
  9. Запустите программу:

    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 выполняется только тогда, когда условие истинно, и узнали, как вывести сообщение, указывающее, что число положительное.