目录
Math 类
Math
类提供了执行基本数学运算的方法,如三角函数、对数、指数、取整等。下面是 Math
类中一些常用的 API 及其参数解析:
-
1)abs(x)
- 返回参数的绝对值。
- 参数:
x
- 一个数值(可以是int
,long
,float
,double
)。 - 示例:
int absInt = Math.abs(-5); // 5 double absDouble = Math.abs(-3.14); // 3.14
-
2)ceil(x)
- 返回大于或等于参数的最小整数。
- 参数:
x
- 一个double
值。 - 示例:
double ceilValue = Math.ceil(3.14); // 4.0
-
3)floor(x)
- 返回小于或等于参数的最大整数。
- 参数:
x
- 一个double
值。 - 示例:
double floorValue = Math.floor(3.14); // 3.0
-
4)round(x)
- 返回最接近参数的
long
或int
值。 - 参数:
x
- 一个float
或double
值。 - 示例:
long roundLong = Math.round(3.14); // 3 int roundInt = Math.round(3.6f); // 4
- 返回最接近参数的
-
5)max(x, y)
- 返回两个参数中的较大值。
- 参数:
x
,y
- 两个数值(可以是int
,long
,float
,double
)。 - 示例:
int maxInt = Math.max(5, 10); // 10 double maxDouble = Math.max(3.14, 2.71); // 3.14
-
6)min(x, y)
- 返回两个参数中的较小值。
- 参数:
x
,y
- 两个数值(可以是int
,long
,float
,double
)。 - 示例:
int minInt = Math.min(5, 10); // 5 double minDouble = Math.min(3.14, 2.71); // 2.71
-
7)sqrt(x)
- 返回参数的平方根。
- 参数:
x
- 一个double
值。 - 示例:
double sqrtValue = Math.sqrt(16.0); // 4.0
-
8)pow(x, y)
- 返回
x
的y
次幂。 - 参数:
x
- 底数,y
- 指数,都是double
值。 - 示例:
double powValue = Math.pow(2.0, 3.0); // 8.0
- 返回
-
9)random()
- 返回一个介于 0.0 和 1.0 之间的伪随机数。
- 参数:无
- 示例:
double randomValue = Math.random(); // 例如 0.34567
-
10)sin(x)
,cos(x)
,tan(x)
- 分别返回参数的正弦、余弦和正切值。
- 参数:
x
- 一个double
值,表示弧度。 - 示例:
double sinValue = Math.sin(Math.PI / 2); // 1.0 double cosValue = Math.cos(0.0); // 1.0 double tanValue = Math.tan(Math.PI / 4); // 1.0
-
11)toDegrees(x)
,toRadians(x)
- 将弧度转换为角度或将角度转换为弧度。
- 参数:
x
- 一个double
值。 - 示例:
double degrees = Math.toDegrees(Math.PI); // 180.0 double radians = Math.toRadians(180.0); // π (约 3.14159)
12.案例:Math类的简单使用
1.代码
package org.xiji.system; public class MathEasyUse { public static void main(String[] args) { System.out.println("Math的abs使用"); System.out.println(Math.abs(-10)); System.out.println(Math.abs(10)); System.out.println("Math的random使用"); for (int i = 0; i < 10; i++) { System.out.println(Math.random()); } System.out.println("Math的sqrt使用"); System.out.println(Math.sqrt(9)); System.out.println(Math.sqrt(16)); System.out.println("Math的ceil使用"); System.out.println(Math.ceil(3.14)); System.out.println(Math.ceil(3.9)); System.out.println("Math的floor使用"); System.out.println(Math.floor(3.14)); System.out.println(Math.floor(3.9)); System.out.println("Math的round使用"); System.out.println(Math.round(3.14)); System.out.println(Math.round(3.9)); System.out.println("Math的min使用"); System.out.println(Math.min(3, 5)); System.out.println(Math.min(3.14, 5.14)); System.out.println("Math的max使用"); System.out.println(Math.max(3, 5)); System.out.println(Math.max(3.14, 5.14)); System.out.println("Math的pow使用"); System.out.println(Math.pow(2, 3)); System.out.println(Math.pow(2.5, 3)); System.out.println("Math的sin使用"); System.out.println(Math.sin(Math.PI / 2)); System.out.println(Math.sin(Math.PI / 6)); System.out.println("Math的cos使用"); System.out.println(Math.cos(Math.PI / 2)); System.out.println(Math.cos(Math.PI / 6)); System.out.println("Math的tan使用"); System.out.println(Math.tan(Math.PI / 2)); System.out.println(Math.tan(Math.PI / 6)); } }
2.效果
Random 类
Random
类用于生成伪随机数。下面是一些常用的 Random
类 API 及其参数解析:
-
1)
构造方法-
Random()
- 创建一个新的随机数生成器。
- 示例:
Random random = new Random();
-
Random(long seed)
- 使用指定的种子创建一个新的随机数生成器。
- 参数:
seed
- 一个long
值,用作随机数生成器的初始种子。 - 示例:
Random random = new Random(12345L);
-
-
2)
nextInt()
- 返回下一个伪随机数,范围在
int
的范围内(即从-2^31
到2^31 - 1
)。 - 参数:无
- 示例:
int randomInt = random.nextInt(); // 例如 -123456789
- 返回下一个伪随机数,范围在
-
3)nextInt(int bound)
- 返回一个介于 0(包括)和
bound
(不包括)之间的伪随机数。 - 参数:
bound
- 上界(不包括),必须为正数。 - 示例:
int randomInt = random.nextInt(100); // 例如 42
- 返回一个介于 0(包括)和
-
4)nextDouble()
- 返回一个介于 0.0(包括)和 1.0(不包括)之间的伪随机
double
值。 - 参数:无
- 示例:
double randomDouble = random.nextDouble(); // 例如 0.34567
- 返回一个介于 0.0(包括)和 1.0(不包括)之间的伪随机
-
5)nextBoolean()
- 返回下一个伪随机布尔值。
- 参数:无
- 示例:
boolean randomBoolean = random.nextBoolean(); // 例如 true
-
6)nextFloat()
- 返回一个介于 0.0(包括)和 1.0(不包括)之间的伪随机
float
值。 - 参数:无
- 示例:
float randomFloat = random.nextFloat(); // 例如 0.12345
- 返回一个介于 0.0(包括)和 1.0(不包括)之间的伪随机
-
7)nextLong()
- 返回下一个伪随机
long
值。 - 参数:无
- 示例:
long randomLong = random.nextLong(); // 例如 1234567890123456789L
- 返回下一个伪随机
-
8)nextGaussian()
- 返回下一个伪随机高斯(正态)分布的
double
值,均值为 0.0,标准差为 1.0。 - 参数:无
- 示例:
double gaussianValue = random.nextGaussian(); // 例如 0.567
- 返回下一个伪随机高斯(正态)分布的
9.案例:使用Random编写一个简单的工具类
1.代码
package org.xiji.system.util; import java.util.Random; public class MyRandomUtil { //定义一个Random类 public static Random random = new Random(); //生成一个整数型的随机数 public static int getRandomInt(int min, int max){ return random.nextInt(max - min + 1) + min; } //生成一个浮点数的随机数 public static double getRandomDouble(double min, double max){ return random.nextDouble() * (max - min) + min; } //生成一个字符型的随机数 public static char getRandomChar(){ return (char) (random.nextInt(26) + 'a'); } //生成一个long类型 public static long getRandomLong(long min, long max){ return random.nextLong() % (max - min + 1) + min; } }
2.测试类
package org.xiji.system.util; public class TestMyRandomUtil { public static void main(String[] args) { System.out.println("四字节整数型测试"); System.out.println(MyRandomUtil.getRandomInt(1, 100)); System.out.println("双精度浮点型测试"); System.out.println(MyRandomUtil.getRandomDouble(1, 100)); System.out.println("长整型测试"); System.out.println(MyRandomUtil.getRandomLong(1, 100)); System.out.println("字符型测试"); System.out.println(MyRandomUtil.getRandomChar()); } }