JAVA 随机数和数学运算
2016-05-20 08:33
411 查看
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的偶数
(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():返回一个概率密度为高斯分布的双精度值
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():返回一个概率密度为高斯分布的双精度值
相关文章推荐
- eclipse 代码中突然出现特殊字符
- Java内存溢出解决办法
- java字节码入门(上)
- Java设计模式(一) 简单工厂模式不简单
- Java设计模式(二) 工厂方法模式
- Java设计模式(四) 观察者模式
- [Java Web – Maven – 1A]maven 3.3.3 for windows 配置(转)
- [Java Web – 3A] – Spring MVC开发注意事项
- Java的最大优势还是跨平台么?
- [JavaWebService-axis]-环境搭建
- java 执行command
- IntelliJ IDEA 使用心得与常用快捷键
- android sdk content loader 0% eclipse
- struts2框架入门级Demo(简易用户登录)
- javaEE是什么
- eclipse在高分屏下的DPI调整方案
- 将jar转换成exe,将jre一起打包生成Setup.exe,在没有jdk环境运行
- SpringBoot框架初接触
- Java基础——final关键字
- Spring Resource加载资源