[19/03/18-星期一] 常用类_Math(数学)类&Rondom(随机数)类

一、Math(数学)类(单独一个Java.Math 包中)

java.lang.Math提供了一系列静态方法用于科学计算;其方法的参数和返回值类型一般为double型。如果需要更加强大的数学运算能力,计算高等数学中的相关内容,可以使用

apache  commons下面的Math类库。

【常用方法】

1. abs 绝对值

2. acos,asin,atan,cos,sin,tan 三角函数

3. sqrt 平方根

4. pow(double a, double b) a的b次幂

5. max(double a, double b) 取大值

6. min(double a, double b) 取小值

7. ceil(double a) 大于a的最小整数

8. floor(double a) 小于a的最大整数

9. random() 返回 0.0 到 1.0 的随机数

10. long round(double a) double型的数据a转换为long型(四舍五入)

11. toDegrees(double angrad) 弧度->角度

12. toRadians(double angdeg) 角度->弧度

二、Rondom(随机数)类 (位于Java.util包中)

Math类中虽然为我们提供了产生随机数的方法Math.random(),但是通常我们需要的随机数范围并不是[0, 1)之间的double类型的数据,这就需要对其进行一些复杂的运算。如果用

Math.random()计算过于复杂的话,我们可以使用例外一种方式得到随机数,即Random类,这个类是专门用来生成随机数的,并且Math.random()底层调用的就是Random的

nextDouble()方法。

【示例】

 /*
*测试数学类的常用方法
*
*/
package cn.sxt.test;
import java.math.*;
import java.util.Random;
public class Test_0318_MathClass {
public static void main(String[] args) {
//取整相关操作
System.out.println(Math.ceil(3.2)); //ceil:天花板 大于3.2的最小整数
System.out.println(Math.floor(3.2));//floor:地板 小于3.2的最大整数
System.out.println(Math.round(3.2)); //round:[adj]弧形的;[介词]大约,附近 此处含义3.2约等于多少
System.out.println(Math.round(3.8));//3.8约等于多少 //绝对值、开方、a的b次幂等操作
System.out.println(Math.abs(-45)); //absolute:绝对值。 -45的绝对值是多少
System.out.println(Math.sqrt(64));//Square(正方形) root(根); sqrt:开平方根。 64的平方根是多少
System.out.println(Math.pow(5, 2));//power[数学]:幂函数;[n]力量,权利 5的2次幂是多少
System.out.println(Math.pow(2, 5));//2的5次幂是多少 //Math类中常用的常量
System.out.println(Math.PI);//PI:圆周率 3.14159
System.out.println(Math.E);//E:自然常数 2.71828 //Math类中阐述随机数方法random() 在使用中通常使用Java.util.Random包中中的Rondom类,也可以产生随机数
System.out.println(Math.random());//random [形容词]随机的,任意的 。 [0,1) 产生一个在含0不含1之间的一个double型随机数 //测试Rondom类
Random rand = new Random(); System.out.println(rand.nextDouble()); //随机生成[0,1)之间的double类型的数据
System.out.println(rand.nextInt()); //随机生成int类型允许范围(32位机器-2147483648~2147483647(2^31-1))之内的整型数据
System.out.println(rand.nextFloat());//随机生成[0,1)之间的float类型的数据
System.out.println(rand.nextBoolean());//随机生成false或者true
System.out.println(rand.nextInt(10));//随机生成[0,10)之间的int类型的数据
System.out.println(20 + rand.nextInt(10));//随机生成[20,30)之间的int类型的数据
System.out.println(20 + (int) (rand.nextDouble() * 10));//随机生成[20,30)之间的int类型的数据(此种方法计算较为复杂) } }
上一篇:布局文件中fill_parent和match_parent有什么区别?


下一篇:非阻塞式socket的select()用法