📌  相关文章
📜  用于检查给定整数是正数还是负数的Java程序

📅  最后修改于: 2022-05-13 01:55:11.390000             🧑  作者: Mango

用于检查给定整数是正数还是负数的Java程序

这里的任务是检查给定的整数是正数还是负数。以下是数字的一些基本属性。

  • 如果整数大于零,则它是一个正整数。
  • 如果数字小于零,则它是一个负整数。
  • 如果数字等于零,则它既不是负数也不是正数。
Input: X = 12
Output: Positive
Explanation: Value of X is greater than 0 so it is Positive.

Input: x = -5
Output: Negative
Explanation: Value of X less than 0 so it is negative.

方法一:使用关系运算符我们可以检查一个整数是正数还是负数。

  • 如果数字> 0,则数字为正。
  • 如果数字<0,则数字为负数。
  • 如果一个数既不是正数也不是负数,则该数等于 0。

下面是上述方法的Java实现:

Java
// Java Program to Check if a Given Integer
// is Positive or Negative
 
import java.io.*;
 
class GFG {
 
    // Function to check positive and negative
    static String checkPosNeg(int x)
    {
 
        // checks the number is greater than 0 or not
        if (x > 0)
            return "Positive";
 
        else if (x < 0)
            return "Negative";
 
        else
            return "zero";
    }
 
    // Driver Function
    public static void main(String[] args)
    {
        // number to be check
        int firstNumber = 912;
        System.out.println(firstNumber + " is "
                           + checkPosNeg(firstNumber));
    }
}


Java
// Java Program to Check if a Given
// Integer is Positive or Negative
 
import java.io.*;
 
class GFG {
 
    // Function to check number is positive or negative
    static int checkPosNeg(int x)
    {
        // inbuilt signum function
        int ans = Integer.signum(x);
        return ans;
    }
 
    // Driver function
    public static void main(String[] args)
    {
        int secondNumber = -125;
        int result = checkPosNeg(secondNumber);
 
        if (result == 0)
            System.out.print(secondNumber + " is Zero");
        else if (result == 1)
            System.out.print(secondNumber + " is Positive");
        else
            System.out.print(secondNumber + " is Negative");
    }
}


Java
// Java Program to Check if a Given
// Integer is Positive or Negative
 
import java.io.*;
 
class GFG {
    // function to check positive and negative integer
 
    static String checkPosNeg(int val)
    {
 
        String[] result = { "Positive", "Negative" };
 
        // checks if the number is positive or negative
        return result[(val >> 31) & 1];
    }
    public static void main(String[] args)
    {
        int num;
        num = -15;
 
        System.out.println(num + " is " + checkPosNeg(num));
    }
}


输出
912 is Positive

方法 2:使用 Integer.signum() 方法

Java Integer 类提供了一个内置函数signum() 来检查数字是正数还是负数。它是一个接受整数类型参数的静态方法。

  • 如果参数为 0,则返回 0。
  • 如果参数>0,则返回 1。
  • 如果参数<0,则返回-1。

句法:

public static int signum(int i)

下面是上述方法的Java实现。

Java

// Java Program to Check if a Given
// Integer is Positive or Negative
 
import java.io.*;
 
class GFG {
 
    // Function to check number is positive or negative
    static int checkPosNeg(int x)
    {
        // inbuilt signum function
        int ans = Integer.signum(x);
        return ans;
    }
 
    // Driver function
    public static void main(String[] args)
    {
        int secondNumber = -125;
        int result = checkPosNeg(secondNumber);
 
        if (result == 0)
            System.out.print(secondNumber + " is Zero");
        else if (result == 1)
            System.out.print(secondNumber + " is Positive");
        else
            System.out.print(secondNumber + " is Negative");
    }
}
输出
-125 is Negative

方法 3:使用位移运算符

在Java中,整数存储在 2 的补码中。我们知道任何负数的最高位都是 1,任何其他数的最高位都是 0。

移位运算符(Val>>31) 将最高位复制到每隔一位。因此,负数变为 11111111 11111111 11111111 11111111,正数或零数变为 00000000 00000000 00000000 00000000。

在此之后,我们可以使用 &运算符来检查数字是正数还是负数。

  • 如果 ((Val>>31) & 1) 为 1,则该数字将为负数。
  • 如果 ((Val>>31) & 1) 为 0,则该数字将为正数。

注意:它认为 0 为正数。

下面是上述方法的Java实现:

Java

// Java Program to Check if a Given
// Integer is Positive or Negative
 
import java.io.*;
 
class GFG {
    // function to check positive and negative integer
 
    static String checkPosNeg(int val)
    {
 
        String[] result = { "Positive", "Negative" };
 
        // checks if the number is positive or negative
        return result[(val >> 31) & 1];
    }
    public static void main(String[] args)
    {
        int num;
        num = -15;
 
        System.out.println(num + " is " + checkPosNeg(num));
    }
}
输出
-15 is Negative