用于检查给定整数是正数还是负数的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