Java—Math类和随机数类

一、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():返回一个概率密度为高斯分布的双精度值

练习:

 1 public static void main(String[] args) {
 2         //1、试随机产生一个4位数
 3         //返回指定位数的随机数的公式:(int)(Math.random) * (最大数—最小数) +最小数
 4         int num = (int)(Math.random() * (9999-1000) + 1000);
 5         System.out.println(num);//输出随机四位整数
 6         //2、返回不大于546.2134的最大整数
 7         int num1 = (int) Math.floor(546.2134);
 8         System.out.println(num1);//546
 9         //3、返回大于123.1123的最小整数
10         int num2 = (int)Math.ceil(123.1123);
11         System.out.println(num2);//124
12         //4、从“a,b,c,d…z,A,B,C,….,Z”随机取4个字母在控制台上显示
13         String s = "QWERTYUIOPASDFGHJKLZXCVBNMzxcvbnmasdfghjklqwertyuiop";
14         char[] c = s.toCharArray();
15         Random random = new Random();
16         for(int i=1 ;i<5;i++) {
17             System.out.print(c[random.nextInt(c.length)]);//随机生成四位字母
18         }
19     }

三、大数值

大数值有两种类型的BigInteger和BigDecimal

BigInteger:int,long无法表示的大整数

BigDecimal:float,double无法表示的大浮点数

猜你喜欢

转载自www.cnblogs.com/xss512/p/10520419.html