当前位置:网站首页 > 日常百科 > 正文

Java中Math方法举例

作者:king发布时间:2023-08-17分类:日常百科浏览:18


导读:今天哈哈社小编给各位讲解下java中math的方法的意思,也会对Java中Math方法举例(javamath常用方法)进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现...
今天哈哈社小编给各位讲解下java中math的方法的意思,也会对Java中Math方法举例(java math常用方法)进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在我们开始吧! Java中Math方法举例Java中Math方法举例 Math 类包含基本的数字操作,如指数、对数、平方根和三角函数。

与 StrictMath 类的某些数值方法不同,并不是 Math 类的所有等效函数的实现都定义为返回逐位相同的结果。这一宽限允许在不要求严格可重复性的地方实现更好的性能。

默认情况下,很多 Math 方法仅调用 StrictMath 中的等效方法来完成它们的实现。代码生成器鼓励使用特定于平台的本机库或者在可用的地方使用微处理器指令,来提供对 Math 方法的更高性能的实现。这种更高性能的实现仍然必须遵守 Math 的规范。

实现规范的质量涉及到两种属性,即返回结果的准确性和方法的单调性。浮点 Math 方法的准确性根据 ulp(units in the last place,最后一位的进退位)来衡量。对于一个给定的浮点格式,特定实数值的 ulp 是将该数值括起来的两个浮点值的差。讨论方法的准确性是从整体上考虑的,而不是针对具体的参数,引用的 ulp 数是为了考虑参数的最差情况的误差。如果一个方法的误差总是小于 0.5 ulp,则该方法始终返回最接近准确结果的浮点数;这种方法就是正确舍入。一种正确舍入的方法通常能得到最佳的浮点近似值,然而,对于很多浮点方法来说,进行正确的舍入有些不切实际。相反,对于 Math 类来说,有些方法允许误差在 1 或 2 ulp 的范围内。在非正式情况下,对于 1 ulp 的误差范围,当准确结果是可表示的数值时,应该按照计算结果返回准确结果;否则,返回将准确结果括起来的两个浮点值。对于值很大的准确结果,括号的一端可以是无穷大。除了个别参数的准确性之外,维护不同参数的方法之间的正确关系也很重要。因此,大多数误差大于 0.5 ulp 的方法都要求是半单调的:只要数学函数是非递减的,浮点近似值就是非递减的;同样地,只要数学函数是非递增的,浮点近似值就是非递增的。不是所有准确性为 1 ulp 的近似值都能自动满足单调性要求。

方法摘要
static double abs(double a)
返回 double 值的绝对值。
static float abs(float a)
返回 float 值的绝对值。
static int abs(int a)
返回 int 值的绝对值。
static long abs(long a)
返回 long 值的绝对值。
static double acos(double a)
返回角的反余弦,范围在 0.0 到 pi 之间。
static double asin(double a)
返回角的反正弦,范围在 -pi/2 到 pi/2 之间。
static double atan(double a)
返回角的反正切,范围在 -pi/2 到 pi/2 之间。
static double atan2(double y, double x)
将矩形坐标 (x, y) 转换成极坐标 (r, theta)。
static double cbrt(double a)
返回 double 值的立方根。
static double ceil(double a)
返回最小的(最接近负无穷大)double 值,该值大于或等于参数,并且等于某个整数。
static double cos(double a)
返回角的三角余弦。
static double cosh(double x)
返回 double 值的双曲线余弦。
static double exp(double a)
返回欧拉数 e 的 double 次幂的值。
static double expm1(double x)
返回 ex -1。
static double floor(double a)
返回最大的(最接近正无穷大)double 值,该值小于或等于参数,并且等于某个整数。
static double hypot(double x, double y)
返回 sqrt(x2 +y2),没有中间溢出或下溢。
static double IEEEremainder(double f1, double f2)
按照 IEEE 754 标准的规定,对两个参数进行余数运算。
static double log(double a)
返回(底数是 e)double 值的自然对数。
static double log10(double a)
返回 double 值的底数为 10 的对数。
static double log1p(double x)
返回参数与 1 的和的自然对数。
static double max(double a, double b)
返回两个 double 值中较大的一个。
static float max(float a, float b)
返回两个 float 值中较大的一个。
static int max(int a, int b)
返回两个 int 值中较大的一个。
static long max(long a, long b)
返回两个 long 值中较大的一个。
static double min(double a, double b)
返回两个 double 值中较小的一个。
static float min(float a, float b)
返回两个 float 值中较小的一个。
static int min(int a, int b)
返回两个 int 值中较小的一个。
static long min(long a, long b)
返回两个 long 值中较小的一个。
static double pow(double a, double b)
返回第一个参数的第二个参数次幂的值。
static double random()
返回带正号的 double 值,大于或等于 0.0,小于 1.0。
static double rint(double a)
返回其值最接近参数并且是整数的 double 值。
static long round(double a)
返回最接近参数的 long。
static int round(float a)
返回最接近参数的 int。
static double signum(double d)
返回参数的符号函数;如果参数是零,则返回零;如果参数大于零,则返回 1.0;如果参数小于零,则返回 -1.0。
static float signum(float f)
返回参数的符号函数;如果参数是零,则返回零;如果参数大于零,则返回 1.0;如果参数小于零,则返回 -1.0。
static double sin(double a)
返回角的三角正弦。
static double sinh(double x)
返回 double 值的双曲线正弦。
static double sqrt(double a)
返回正确舍入的 double 值的正平方根。
static double tan(double a)
返回角的三角正切。
static double tanh(double x)
返回 double 值的双曲线余弦。
static double toDegrees(double angrad)
将用弧度测量的角转换为近似相等的用度数测量的角。
static double toRadians(double angdeg)
将用度数测量的角转换为近似相等的用弧度测量的角。
static double ulp(double d)
返回参数的 ulp 大小。
static float ulp(float f)
返回参数的 ulp 大小。java Math类中的pow方法 Math.pow(64,1/3)等价于 Math.pow(64,0)所以结果是1.0 在程序中 1/3并不代表三分之一,因为这里是两个int类型在做除法,结果也是int类型,会自动取整(向下取0了), 所以是0,就可以说明为什么结果是1。执行代码如下 System.out.println(1/3) 运行结果 当然如果使用Math.pow(64,1.0/3.0)结果也不是4,代码如下 System.out.println(Math.pow(64,1.0/3.0)) 结果如下 这里1.0/3.0近似等于0.3333333333所以,最后结果为上图所示。 拓展知识 1.0做除数抛运行时异常;两整数商会做取整运算,Float或Double与一个整数做除法运算,则商位Float或者Double类型 2.0可以做除数,得到的是一个分正负的无穷大;当两个数的绝对值均为0.0时候,商等于NaN。当0.0/x,x不等0.0时候 Java中怎样调用Math中的方法 Math类中的方法一般都为静态方法,直接使用类名.方法名(实参列表)即可调用,如调用Math中的max函数的语句为Math.max(3, 5);其返回3,5中较大的值。
Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数等,Math类在包java.lang中,是默认导入的包,使用时不需要额外导入包。。Math类中random方法与Random类都可以生成随机数,他们有什么区别 Random类的随机方法是设定随机种子的,(如:new Random().nextInt(10)),这里的10就是随机种子,根据随机数的原理,相同随机种子在相同的随机次数中产生的随机数是一样的,( public class RandomNum{ public static void main(String[] args){ Random r1 = new Random(100);//第一个Random对象r1,随机种子100 Random r2 = new Random(100);//第二个Random对象r2,随机种子100 System.out.println("r1产生的值:"+r1.nextInt()); System.out.println("r2产生的值:"+r2.nextInt()); System.out.println("Math.random产生的值:"+(int)(Math.random()*100)); } } ),如果看Math的random方法的实现代码的话,就会发现,该方法就是调用的Random类的nextDouble()方法。 因为Math类的random方法使用较方便,不需要导包、创建对象,所以许多人习惯于使用该方法。Java中怎样调用Math中的方法 Math类中的方法一般都为静态方法,直接使用类名.方法名(实参列表)即可调用,如调用Math中的max函数的语句为Math.max(3, 5);其返回3,5中较大的值。
Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数等,Math类在包java.lang中,是默认导入的包,使用时不需要额外导入包。。JAVA math 方法里面mathpow错误 Math.pow方法是2个参数的,你后面那个只传了一个参数进去,所以报异常了。在java中这是个方法math.abs()是什么意思? 取括号内数值的绝对值Java中的Math.max(a,b)怎么在控制台输出 Math.max(a,b)这个方法有返回值,要赋给一个变量,然后再在控制台打印那个变量,代码如下: int max = Math.max(a,b);System.out.println(max);java中Math提供的是哪个取整的方法 Math类中提供的三个与取整有关的方法:
第一个: ceil
ceil的意思就是: 天花板的意思;该方法表示的是向上取整Math.ceil(11.3)的值是12 ; Math.ceil.(-11.6)的结果是-11;
第二个是: floor
首先他的英文含义就是地板的含义,该方法就表示的是向下取整,
Math.floor(11.6)的结果就是11 ;
Math.floor(-11.4);的结果就是-12
第三个是: round
他表示的是四舍五入,算法为 Math.floor(x+0.5);也就是在原来的数字上加上0.5之后再进行向下取整;
Math.round(11.5);也就是 Math.floor(11.5+0.5)= Math.floor(12)=12;
同理: Math.round(-11.5)= Math.floor(-11.5+0.5)=Math.floor(-11.0)= -11;哈哈社推荐内容:全国最著名的脑科医院福建龙岩可以种植台湾青枣吗会计职称有哪几个祛眼袋医院,哪家好呢?手工兔子的做法福建省质检分数跟高考会差多少?芦笋是不是笋类不想给猫做绝育手术,也不想让猫生小猫,有其他方法解决吗?长沙哪个医院生孩子比较好?朱元璋多少岁称帝歌手白雪的丈夫夫妻长期两地分居,如何申请离婚?