zoukankan      html  css  js  c++  java
  • Java数学函数的使用

    Java的Math类中提供了一系列关于数学运算的静态方法,常见的运算整理如下[1]

    算数运算

    Math.sqrt()     // 平方根
    Math.cbrt()     // 立方根
    Math.pow(a, b)  // 计算a的b次幂
    Math.max(a, b)  // 计算最大值
    Math.min(a, b)  // 计算最小值
    Math.abs(a, b)  // 取绝对值
    

    舍入运算

    Math.ceil()     // 向上取整
    Math.floor()    // 向下取整
    Math.round()    // 四舍五入, 返回int(参数为float时)或long(参数为double时)
    Math.rint()     // 四舍五入, 返回double值(在 x.5 时向偶数舍入)
    

    注意:除了中间值(.5)外,二者都是选择向靠近它的整数舍入。在不考虑返回值类型的情况下,二者的主要区别在于Math.round在.5时选择向大数舍入, 而Math.rint()会在.5的时候选择向靠近它的偶数舍入,例如1.5和2.5都向2舍入。

    Math.roundMath.rint的区别:

    -w614

    随机数

    Math自带一个随机数方法Math.random(), 用来生成一个[0, 1)范围内均匀分布的double类型(伪)随机数。也可以使用它通过算数运算来组合形成各个区间的随机数:

    Math.randon() * 2       // [0, 2)
    Math.random() + 1       // [1, 2)
    Math.random() * 3 + 3   // [3, 6)
    ...
    

    java的工具类java.util.Random包中提供了更多关于随机数的方法

    高级数学运算

    // 对数运算
    Math.log()      // 自然对数(底数e)
    Math.log10()    // 常用对数(底数10)
    // 三角函数运算
    Math.sin()
    Math.cos()
    Math.tan()
    

    1. 部分参考内容链接 ↩︎

  • 相关阅读:
    子数组的最大乘积
    重建二叉树
    只考加法的面试题
    找出发帖的水王问题
    寻找最近点对
    寻找最大的k个数问题
    寻找数组中 的最大值最小值
    数组中的最长递增子序列
    常用的百度API地图操作
    div 背景自适应
  • 原文地址:https://www.cnblogs.com/zhloong/p/java-maths.html
Copyright © 2011-2022 走看看