一、Math类(主要封装算数运算的静态方法)
定义:
Math是没有构造方法的.
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);
简单示例几个:
Math.max():较大数
Math.min():较小数
Math.ceil():不小于最小的数
Math.floor():不大于最大的数
Math.round():四舍五入
二、随机数
Math.random()
默认生成0.0~1.0的double型随机数。
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():返回一个概率密度为高斯分布的双精度值
练习:
public static void main(String[] args) {
//1、试随机产生一个4位数
//返回指定位数的随机数的公式:(int)(Math.random) * (最大数—最小数) +最小数
int num = (int)(Math.random() * (9999-1000) + 1000);
System.out.println(num);//输出随机四位整数
//2、返回不大于546.2134的最大整数
int num1 = (int) Math.floor(546.2134);
System.out.println(num1);//546
//3、返回大于123.1123的最小整数
int num2 = (int)Math.ceil(123.1123);
System.out.println(num2);//124
//4、从“a,b,c,d…z,A,B,C,….,Z”随机取4个字母在控制台上显示
String s = "QWERTYUIOPASDFGHJKLZXCVBNMzxcvbnmasdfghjklqwertyuiop";
char[] c = s.toCharArray();
Random random = new Random();
for(int i=1 ;i<5;i++) {
System.out.print(c[random.nextInt(c.length)]);//随机生成四位字母
}
}
三、大数值
大数值有两种类型的BigInteger和BigDecimal
BigInteger:int,long无法表示的大整数
BigDecimal:float,double无法表示的大浮点数