Math类包含完成常用的数学计算的方法以及Math.PI(π)和Math.E(e)两个数学常数。类中所有成员都是加public、static、final修饰,使用时直接使用类名做前缀来调用
求最大值、最小值与绝对值
方法
说明
方法 | 说明 |
static int abs(int a) | 返回a的绝对值 |
static long abs(long a) | 返回a的绝对值 |
static float abs (float a) | 返回a的绝对值 |
static double abs(double a) | 返回a的绝对值 |
static int max(int x,int y) | 返回x和y的最大值 |
static double max(double x,double y) | 返回x和y的最大值 |
static long max(long x,long y) | 返回x和y的最大值 |
static float max(float x,float y) | 返回x和y的最大值 |
static int min(int x,int y) | 返回x和y的最小值 |
static double min(double x,double y) | 返回x和y的最小值 |
static long min(long x,long y) | 返回x和y的最小值 |
static float min(float x,float y) | 返回x和y的最小值 |
Example:
class Test{
public static void main(String[] a){
System.out.println("10和11的最大值"+Math.max(10,11));
System.out.println("10和11的最小值"+Math.min(10,11));
System.out.println("-1的绝对值"+Math.abs(-1));
}
}
C:\Users\86183\java>java Test
10和11的最大值11
10和11的最小值10
-1的绝对值1
求整运算
Example:
class Test{
public static void main(String[] a){
System.out.println("大于等于9.8的最小整数"+Math.ceil(9.8));
System.out.println("小于等于9.8的最小整数"+Math.floor(9.8));
System.out.println("返回最接近9.5的整数值"+Math.rint(9.5));
System.out.println("round6.7的数为:"+Math.round(6.7));
}
}
C:\Users\86183\java>java Test
大于等于9.8的最小整数10.0
小于等于9.8的最小整数9.0
返回最接近9.5的整数值10.0
round6.7的数为:7
三角函数运算
class Test{
public static void main(String[] a){
System.out.println(Math.sin(Math.PI/2));
System.out.println(Math.cos(1));
System.out.println(Math.asin(1));
System.out.println(Math.acos(1));
System.out.println(Math.tan(1));
System.out.println(Math.atan(1));
System.out.println(Math.toDegrees(1));
System.out.println(Math.toRadians(30));
}
}
C:\Users\86183\java>java Test
1.0
0.5403023058681398
1.5707963267948966
0.0
1.5574077246549023
0.7853981633974483
57.29577951308232
0.5235987755982988
指数运算
class Test{
public static void main(String[] a){
System.out.println(Math.exp(3));
System.out.println(Math.pow(2,3));
System.out.println(Math.sqrt(4));
System.out.println(Math.cbrt(8));
System.out.println(Math.log(Math.E));
System.out.println(Math.log10(10));
//System.out.println(Math.toDegrees(1));
//System.out.println(Math.toRadians(30));
}
}
C:\Users\86183\java>java Test
20.085536923187668
8.0
2.0
2.0
1.0
1.0
java生成随机数
在java里要生成一个指定范围的随机数字的方法:
1.调用Math类的random()方法
2.使用Random类
Random 类提供了丰富的随机数生成方法,可以产生 boolean、int、long、float、byte 数组以及 double 类型的随机数,这是它与 random() 方法最大的不同之处。random() 方法只能产生 double 类型的 0~1 的随机数。
import java.util.Random;
class Test{
public static void main(String[] args) {
Random r = new Random();
double d1 = r.nextDouble(); // 生成[0,1.0]区间的小数
double d2 = r.nextDouble()*7; // 生成[0,7.0]区间的小数
int i1 = r.nextInt(10); // 生成[0,10]区间的整数
int i2 = r.nextInt(18)-3; // 生成[-3,15)区间的整数
long l1 = r.nextLong(); // 生成一个随机长整型值
boolean b1 = r.nextBoolean(); // 生成一个随机布尔型值
float f1 = r.nextFloat(); // 生成一个随机浮点型值
System.out.println("生成的[0,1.0]区间的小数是:" + d1);
System.out.println("生成的[0,7.0]区间的小数是:" + d2);
System.out.println("生成的[0,10]区间的整数是:" + i1);
System.out.println("生成的[-3,15]区间的整数是:" + i2);
System.out.println("生成一个随机长整型值:" + l1);
System.out.println("生成一个随机布尔型值:" + b1);
System.out.println("生成一个随机浮点型值:" + f1);
System.out.print("下期七星彩开奖号码预测:");
for (int i = 1; i < 8; i++) {
int num = r.nextInt(9); // 生成[0,9]区间的整数
System.out.print(num);
}
}
}
C:\Users\86183\java>java Test
生成的[0,1.0]区间的小数是:0.5532355769412503
生成的[0,7.0]区间的小数是:4.37216440067783
生成的[0,10]区间的整数是:0
生成的[-3,15]区间的整数是:12
生成一个随机长整型值:-1715797323477052124
生成一个随机布尔型值:true
生成一个随机浮点型值:0.9511741
下期七星彩开奖号码预测:7885684
C:\Users\86183\java>javac max...java
C:\Users\86183\java>java Test
生成的[0,1.0]区间的小数是:0.06978876598957962
生成的[0,7.0]区间的小数是:0.20937780083197643
生成的[0,10]区间的整数是:5
生成的[-3,15]区间的整数是:-2
生成一个随机长整型值:-2106557007640971057
生成一个随机布尔型值:false
生成一个随机浮点型值:0.61968607
下期七星彩开奖号码预测:1356037
使用Math类的random()方法没有参数,会默认返回大于等于0、小于1.0的double随机数
例如:
产生一个[0,100]的整数 (int)(Math.random()*101)