Math
Math类包含用于几何和三角运算的所有浮点函数,以及一些用于通用目的的方法。Math类定义了两个double常量:E(约等于2.72)和PI(约等于3.14)
三角函数
| 方法 | 描述 |
|---|---|
| static double sin(double arg) | 返回由arg指定的角度(单位为弧度)的正弦值 |
| static double cos(double arg) | 返回由arg指定的角度(单位为弧度)的余弦值 |
| static double tan(double arg) | 返回由arg指定的角度(单位为弧度)的正切值 |
| static double asin(double arg) | 返回正弦值由arg指定的角度 |
| static double acos(double arg) | 返回余弦值由arg指定的角度 |
| static double atan(double arg) | 返回正切值由arg指定的角度 |
| static double atan2(double x, double y) | 返回正切值由x/y指定角度 |
| static double sinh(double arg) | 返回由arg指定的角度的双曲正弦值 |
| static double cosh(double arg) | 返回由arg指定的角度的双曲余弦值 |
| static double tanh(double arg) | 返回由arg指定的角度的双曲正切值 |
指数函数
| 方法 | 描述 |
|---|---|
| static double cbrt(double arg) | 返回arg的立方根 |
| static double exp(double arg) | 返回e的arg次方 |
| static double expml(double arg) | 返回e的(arg-1)次方 |
| static double log(double arg) | 返回arg的自然对数 |
| static double log10(double arg) | 返回arg的以10为底的对数 |
| static double log1p(double arg) | 返回(arg+1)的自然对数 |
| static double pow(double y, double x) | 返回y的x次方 |
| static double scalb(double arg, int factor) | 返回$arg×2^{factor}$ |
| static float scalb(float arg, int factor) | 返回$arg×2^{factor}$ |
| static double sqrt(double arg) | 返回arg的平方根 |
舍入函数
| 方法 | 描述 |
|---|---|
| static int abs(int arg) | 返回arg的绝对值 |
| static long abs(long arg) | 返回arg的绝对值 |
| static float abs(float arg) | 返回arg的绝对值 |
| static double abs(double arg) | 返回arg的绝对值 |
| static double ceil(double arg) | 返回大于或等于arg的最小整数 |
| static double floor(double arg) | 返回小于或等于arg的最大整数 |
| static int floorDiv(int dividend, int divisor) | 返回不大于dividend/divisor的结果的最大整数(JDK8新增) |
| static long floorDiv(long dividend, long divisor) | 返回不大于dividend/divisor的结果的最大整数(JDK8新增) |
| static int floorMod(int dividend, int divisor) | 返回不大于dividend/divisor的余数的最大整数(JDK8新增) |
| static long floorMod(long dividend, long divisor) | 返回不大于dividend/divisor的余数的最大整数(JDK8新增) |
| static int max(int x, int y) | 返回x和y中的最大值 |
| static long max(long x, long y) | 返回x和y中的最大值 |
| static float max(float x, float y) | 返回x和y的最大值 |
| static double max(double x, double y) | 返回x和y的最大值 |
| static int min(int x, int y) | 返回x和y中的最小值 |
| static long min(long x, long y) | 返回x和y中的最小值 |
| static float min(float x, float y) | 返回x和y中的最小值 |
| static double min(double x, double y) | 返回x和y中的最小值 |
| static double nextAfter(double arg, double toward) | 从arg的值开始,返回toward方向的下一个值。如果arg==toward,就返回toward |
| static double nextDown(double val) | 返回低于val的下一个值(JDK8新增) |
| static falot nextDown(float val) | 返回低于val的下一个值(JDK8新增) |
| static double nextUp(double arg) | 返回正方向上的arg的下一个值 |
| static float nextUp(float arg) | 返回正方形上的arg的下一个值 |
| static double rint(double arg) | 返回最接近arg的整数值 |
| static int round(float arg) | 返回arg的只入不舍的最近整数值 |
| static long round(double arg) | 返回arg的只入不舍的最近长整型值 |
| static float ulp(float arg) | 返回arg的ulp的值 |
| static double ulp(double arg) | 返回arg的ulp的值 |
其他方法
| 方法 | 描述 |
|---|---|
| static int addExact(int arg1, int arg2) | 返回arg1+arg2.如果发生溢出,就抛出ArithmeticException异常(JDK8新增) |
| static long addExact(long arg1, long arg2) | 返回arg1+arg2。如果发生溢出,就抛出ArithmeticException异常(JDK8新增) |
| static double copySign(double arg, double signarg) | 返回arg,符号与signarg相同 |
| static float copySign(float arg, float signarg) | 返回arg,符号与signarg相同 |
| static int decrementExact(int arg) | 返回arg-1。如果发生溢出,就抛出ArithmeticException异常(JDK8新增) |
| static long decrementExact(long arg) | 返回arg-1。如果发生溢出,就抛出ArithmeticException异常(JDK8新增) |
| static int getExponent(double arg) | 返回由arg的二进制表示形式所使用的2的指数 |
| static int getExponent(float arg) | 返回由arg的二进制表示形式所使用的2的指数 |
| static double hypot(double side1, double side2) | 给定直角三角形两条直角边的长度,返回斜边的长度 |
| static double IEEEremainder(double dividend, double divisor) | 返回dividend/divisor的余数 |
| static int incrementExact(int arg) | 返回arg+1。如果发生溢出,就抛出ArithmeticException异常(JDK8新增) |
| static long incrementExact(long arg) | 返回arg+1。如果发生溢出,就抛出ArithmeticException异常(JDK8新增) |
| static int multiplyExact(long arg1, long arg2) | 返回arg*arg2。如果发生溢出,就抛出ArithmeticException异常(JDK8新增) |
| static int negateExact(int arg) | 返回-arg。如果发生溢出,就抛出ArithmeticException异常(JDK8新增) |
| static long negateExact(long arg) | 返回-arg。如果发生溢出,就抛出ArithmeticException异常(JDK8新增) |
| static double random() | 返回0到1之间的伪随机数 |
| static float signum(double arg) | 判断值的符号。如果arg为0,返回0;如果arg大于0,返回1;如果arg小于0,返回-1 |
| static float signum(float arg) | 判断值的符号。如果arg为0,返回0;如果arg大于0,返回1;如果arg小于0,返回-1 |
| static int subtractExact(int arg1, int arg2) | 返回arg1-arg2。如果发生溢出,就抛出ArithmeticException异常(JDK8新增) |
| static long subtractExact(long arg1, long arg2) | 返回arg1-arg2。如果发生溢出,就抛出ArithmeticException异常(JDK8新增) |
| static double toDegrees(double angle) | 将弧度转换为度。传递给angle的角度必须使用弧度知道。返回度的结果 |
| static int toIntExact(long arg) | 作为int类型返回arg。如果发生溢出,就抛出ArithmeticException异常(JDK8新增) |
| static double toRadians(double angle) | 将度转换为弧度。传递给angle的角度必须使用度指定。返回弧度的结果 |
StrictMath
StrictMath类定义了与Math类中的方法完全平行的一套方法,区别在于StrictMath版的方法对于所有Java实现都要确保生成精确的结果,而Math类中的方法给予了更多的回旋余地以提高性能。
Random
Random类时伪随机数生成器。
- 构造函数
| 方法 | 描述 |
|---|---|
| Random() | 创建的随机数生成器使用相对唯一的种子 |
| Random(long seed) | 手动指定种子 |
- Random类定义的核心共有方法
| 方法 | 描述 |
|---|---|
| boolean nextBoolean() | 返回下一个布尔型随机数 |
| void nextBytes(byte vals[]) | 使用随机生成的值填充vals |
| double nextDouble() | 返回下一个double型随机数 |
| float nextFloat() | 返回下一个float型随机数 |
| double nextGaussian() | 返回下一个高斯分布随机数 |
| int nextInt() | 返回下一个int型随机数 |
| int nextInt(int n) | 返回介于0和n之间的下一个int型随机数 |
| long nextLong() | 返回下一个long型随机数 |
| void setSeed(long newSeed | 将种子(即随机数生成器的开始点)设置为newSeed指定的值 |
| DoubleStream doubles() | 返回包含double类型的随机值在0~1.0之间的流 |
| IntStream ints() | 返回包含int类型随机值的流 |
| LongStream longs() | 返回包含long类型随机值的流 |
1 | import java.util.Random; |