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; |