java笔记14-数学相关类

math类

类所在的包

java.lang 不需要导包

类的关系

继承object

类对象的创建

所有属性和方法都是静态 不需要创建对象

类的属性和方法

属性: PI---圆周率    E---E数

方法:

int=Math.abs(int)  绝对值 数字型的基本数据类型都支持long int float double

int=Math.max(int a,int b)   返回最大值  如果传入数据类型不一致 返回值自动提升到范围较大的数据类型

int=Math.min()   返回最小值  数字型的基本数据类型都支持long int float double

double=Math.ceil()   ceil()向上取整,即大于这个数的最小的那个整数;

double=Math.floor()  向下取整,即小于这个数的最大的那个整数;

double=Math.rint()  返回最接近该值的那个整数。注意如果存在两个这样的整数,则返回其中的偶数

int=Math.round()  返回四舍五入的int类型 (0.5的数取数轴右边的整数,这样比较好理解)  round(-1.5) //-1

double=Math.pow(double a ,double b)  a的b次方返回double类型

double=Math.sqrt(double a )  开根号

double=Math.random()    取[0,1)的随机数 

  这个方法不能满足一些变态的需求 比如取5-10之间的随机数 double=Math.random()*5+5  5+0.999999999*5=10.9999999995 会有精度的损失

Random类

  类所在的包

    java.util   需要导包  import java.util.Random;

  类的关系

    继承object

  类对象的创建

    Random r=new Random();

    Random r=new Random(long seed); -->种子数一样生成的随机数是一样的

  类的属性和方法

    int=r.nextInt();  随机生成一个int类型的数;默认范围是int取值范围,有写范围的方法重载int=r.nextInt(10);   0-9的整数

    long=r.nextLong();

    float=r.nextFloat(); 随机生成一个0-1的小数

    double=r.nextDouble(); 随机生成一个0-1的小数

    boolean=r.nextBoolean();  随机生成一个boolean值

    void=r.nextBytes[byte[] bytes]  随机生成一个byte放入到byte数组中

BigInteger类 

  用于超大数字的计算

  类所在的包

    java.math   需要导包  import java.util.BigInteger;

  类的关系

    继承Number 

  类对象的创建 构造方法都是带参数的通常用Sring类型参数

    BigInteger big1=new BigInteger("123232132131232132132312321323");

    BigInteger big2=new BigInteger("123232132131232132132312321323");

  类的方法

    BigInteger=big1.abs() 返回大整数的绝对值

    BigInteger=big1.add(big2) 返回两个大整数的和

    BigInteger=big1.divide(big2) 返回两个大整数的商

    BigInteger=big1.subtract(big2) 返回两个大整数的差

    BigInteger=big1.and(BigInteger val) 返回两个大整数的按位与的结果

    BigInteger=big1.andNot(BigInteger val) 返回两个大整数与非的结果

    BigInteger=big1.max(BigInteger val) 返回两个大整数的最大者

    BigInteger=big1.min(BigInteger val) 返回两个大整数的最小者

    BigInteger=big1.mod(BigInteger val) 用当前大整数对val求模

    BigInteger=big1.multiply(BigInteger val) 返回两个大整数的积

    BigInteger=big1.negate() 返回当前大整数的相反数

    BigInteger=big1.pow(int) 返回当前大整数的次方

    BigInteger=big1.remainder(big2) 返回当前大整数除以val的余数

BigInteger类 

  比double更精确的数

  类所在的包

    java.math   需要导包  import java.util.BigDecimal;

  类的关系

    继承Number 

  类对象的创建 构造方法都是带参数的通常用Sring类型参数

    BigInteger big1=new BigInteger("12323213213.1232132132312321323");

    BigInteger big2=new BigInteger("1232321321.31232132132312321323");

  类的方法

    BigInteger=big1.add(big2) 返回两个大整数的和

    BigInteger=big1.divide(big2) 返回两个大整数的商

    BigInteger=big1.subtract(big2) 返回两个大整数的差

    BigInteger=big1.multiply(BigInteger val) 返回两个大整数的积

    big1=big1.setScale(3,3);  --->处理小数点位数用setScale 第一个参数保留几位 第二个参数保留的方式 向上取整向下取整 四舍五入等

DecimalFormat类 

    专业的格式化类   

    类所在的包

      java.text 

    类的关系

      继承NumberFormat

    类对象的创建

      0如果给定数字的位数不够用0填补、整数多了不处理、小数多了四舍五入

      #如果给定数字的位数不够不处理、整数多了不处理、小数多了四舍五入

      DecimalFormat decimal =new DecimalFormat("0");  //显示所有整数

      DecimalFormat decimal =new DecimalFormat("#"); //显示所有整数

      DecimalFormat decimal =new DecimalFormat("000.000");   12.34 --> 012.340

      DecimalFormat decimal =new DecimalFormat("000.###");   1234.3333 --->  1234.333

      DecimalFormat decimal =new DecimalFormat("000.###%"); //百分比展示  0.3432 ---->  034.32%

      DecimalFormat decimal =new DecimalFormat(",###"); //以逗号隔开  123456789 --->   123,456,789

    类的方法

      String value =decimal.format(1222.3335);

      

        

    

    

 

 

 

 

 

posted @ 2019-06-15 10:40  国际惯例  阅读(176)  评论(0编辑  收藏  举报