java输入一个数求绝对值,java绝对值怎么写?

KLQ 2020-06-12 09:59:38 java常见问答 4879

下面要给大家分享的是三个输入一个数求绝对值java实例,一起来看看用java求一个数的绝对值的完整代码吧。

题目1

java输入一个数,输出它的绝对值。

代码实现1

public class 绝对值
{
    public static void main(String[] args)
    {
        System.out.println("输入一个整数n:
");
        Scanner s = new Scanner(System.in);
        int n = s.nextInt();
        if (n >= 0)
        {
            n = n;
        }
        else
        {
            n = -1 * n;
        }
        System.out.println(n);
    }
}

代码实现2

import java.util.Scanner;
public class Test
{
    public static void main(String[] args)
    {
        Scanner scan = new Scanner(System.in);
        System.out.print("请输入一个数字:");
        float num = scan.nextFloat();
        System.out.println("该数字的绝对值为:" + (num < 0) ? (-num) : num);
    }
}

题目2

手动实现一个int型数求绝对值函数。

在java数字运算当中,通常都会去考虑到运算效率问题,所以说,尽量的要使用位移运算,这样的效率会高一些。

下面是一个int型数绝对值的代码。

public static void main(String[] args)
{
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入任意数字");
    int num = sc.nextInt();
    System.out.println(num);
    System.out.println(f(num));
}
static int f(int num)
{
    return num * (1 - ((num >>> 31) << 1));
}

下面是原理:

int型数,所采用的是4个字节存储,也就是32位。

第一位用作符号位,剩下的31位来表示数字部分。

假如,第一位是0,那么为正数。

假如,第一位是1,那么为负数。

所以的话,使用无符号右移 >>> 直接得到符号位的值,之后,再左移1位。

假如为0,则1-0=1,乘以本身,为正。

假如为1,则1-2=-1,和原来负数想乘,又变成正。

(以上原理为个人见解,仅供参考)。

好啦关于java编程求一个数的绝对值的内容就给你分享到这里了,你还想了解更多的java代码实例吗?可以继续通过奇Q工具网的java实例栏目来了解哦。

推荐阅读:

java编程题某个公司采用公用电话传递数据

java有一个已经排好序的数组插入一个数编程

java编程,输入三个整数xyz,由小到大输出