下面要给大家分享的是三个输入一个数求绝对值的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实例栏目来了解哦。
推荐阅读: