java语言中提供了一个执行数学基本运算的Math类,Math类包括常用的数学运算和一些数学函数。还提供了一些常用的常量,PI, E等。
Math类中提供了许多数学函数算法,这些函数都被定义为static形式
调用起来也方便:
Math.数学方法
Math.PI
Math.E
常用的数学运算方法
1.三角函数
正弦:public static double sin(double a);
余弦:public static double cos(double a);
正切:public static double tan(double a);
反正弦:public static double asin(double a);
反余弦:public static double acos(double a);
反正切:public static double atan(double a);
角度转弧度:public static double toRadians(double angdeg);
弧度转角度:public static double toDegrees(double angdeg);
2.指数函数
取 ea:public static double exp(double a);
取 lna:public static double log(double a);
取 lga:public static double log10(double a);
取 a²:public static double sprt(double a );
取 a³: public static double cbrt(double a);
取 ab:public static double pow(double a,double b);
取整数函数方法
返回大于等于参数的最小整数:public static double ceil(double a);
返回大于等于参数的最大整数:public static double floor(double a);
返回与参数最接近的整数,偶数优先:public static double rint(double a);
参数加0.5返回与参数最近的整数:public static double round(float a);
参数加0.5返回与参数最近的整数,强制转换成长整型:public static double long round(double a );
取最大值、最小值、绝对值
最大值:public static double max(double a,double b);
最小值:public static double min(double a,double b);(参数为双精度)
绝对值:public static double abs(int a);(参数为整型)
随机数
Math.random()
默认生成0.0~1.0的double型随机数。
下面代码就是生成2~32的偶数
public class RandomNumber{
public static int GetEvenNum(double num1,double num2){
//产生num1~num2之间的随机数
int s=(int)num1+(int)(Math.random()*(num2-num1));
if(s%2==0){//判断随机数是否为偶数
return s;//返回
}else
//如果是骑数
return s+1;//将返回的结果加1后返回
}
public static void main(String []args){
//调用产生随机数方法
System.out.println("任意一个2~32之间的偶数:"+GetEvenNum(2,32));
}
}
Math类的random()方法也可以随机生成随机字符
(char)('a'+Math.random()*('z'-'a'+1)); (a~z)
(char)(char1+Math.random()*(char2-char1+1)); (A~Z)
Random类
除了Math类的random()方法可以获取随机数之外,Random类也可以获取随机数。
Random r=new Random();
Random r=new Random(seedValue);
r:Random对象。
seedValue:随机数生成器的种子。
常用的方法:
public int nextInt():返回一个随机整数
public int nextInt(int n):返回大于0小于n的随机整数。
public long nextLong():返回一个随机长整型
public boolean nextBoolean():返回一个随机布尔型值
public float nextFloat():返回一个随机浮点型值
public double nextDouble():返回一个随机双精度型值
public double nextGaussian():返回一个概率密度为高斯分布的双精度值