Java中的数学函数

在Math类中包含了各种各样的数学函数

  • sqrt(平方根)、pow(幂运算)

double x = 4; 
double y = Math.sqrt(x); 
System.out.println(y); // prints 2.0 
double x = 2; 
double a = 2;
double y = Math.pow(x,a); 
System.out.println(y); // prints 4.0 

注意:pow方法中x , a这两个参数都是double类型的参数,其返回结果也为double类型。

  • floorMod与% (求模,取余)

首先,%是求余的意思,而不是求模的意思。求模不完全等于求余数。

遵守公式:
a = b * c + r ;
其中 a 是被除数,b 是除数,c 是商,r是余数也可以是模。
c = a / b 且 |r| < |b|
于是得到:
r = a - c*b;

  • Java求余单位是 %

  • Java中求模使用的是 Math.floorMod(被除数,除数)方法

  • 当a>0,b>0 则a%b >=0 且Math.floorMod(a,b) >=0

  • 当a<0,b<0, 则 被除数 -(除数*商),已知商的绝对值取最小的,也就是说 |被除数| > |除数 * 商|。
    所以a%b <=0 且Math.floorMod(a,b) <=0

  • 当ab异号,则 a/b小于0,也就是商小于0,除数小于0
    r 的值的正负取决于 |商*除数| 与 |被除数|的比较

    求模运算和求余运算在第一步不同:
    取余运算在取c的值时,向 0 方向舍入;
    而取模运算在计算c的值时,向负无穷方向舍入。

    当 a < 0, b > 0 时候
    例:
    a= -7; b=4;
    a / b=-1.75
    进行求余运算:c=-1 (向0方向舍入,向下取整)
    进行求模运算:c=-2 (向负无穷方向舍入,向上取整)
    根据公式:r = a - c*b
    所以,最后的结果为:
    求余:a%b=r= -3;
    取模:Math.floorMod(a,b)= r = 1;

    当 a > 0, b < 0 时候
    a=7; b=-4;
    进行求余运算:c=-1 (向0方向舍入,向下取整)
    进行求模运算:c=-2 (向负无穷方向舍入,向上取整)
    求余:a%b=r= 3;
    取模:Math.floorMod(a,b)= r = -1;

  • 总结

    1. 当被除数和除数同号的时候,求余和取模得到的结果是相等的
    2. 求余过程中:
      余数的正负号取决于被除数,被除数为正则为正,被除数为负则为负
    3. 求模过程中:
      模的正负号取决于除数,除数为正则为正,除数为负责为负
  • 三角函数

    Math.sin(x)
    x为一个数值(弧度制为单位)

Math.sin(0);           // 0
Math.sin(Math.PI / 2); // 1

Math.PI 表示的是 π 的近似值
Math.E 表示的是 e 的近似值

其余的函数:
Math.cos
Math.tan
Math.atan
Math.atan2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值