Math类Arrays类

Math 类是包含用于执行基本数学运算的方法的数学工具类,如初等指数、对数、平方根和三角函数。

类似这样的工具类[L1] ,其所有方法均为静态方法,并且一般不会创建对象。如System类

 


工具类,代表能够完成一系列功能的类,在使用它们时,不用创建对象,该类中方法为静态方法

求绝对值:Math.abs(-90.3);结果90.3

向上取整(就是算12.9结果也是13):Math.ceil(12.1)结果13; 

向下取整(就算是12.9结果也是12):Math.floor(12.1)结果是12
四舍五入:

             Math.round(12.4)结果是12;

            Math.round(12.9)结果是13;

获取两个数的最大值:Math.max(22,12)结果是22;

获取两个数的最小值:Math.min(22,12)结果是12
求次幂;就是2的10次方:Math.pow(2,10);

求0-1之间的随机小数:Math.random();

 

 Arrays

 


Arrays的用法:int i=[1,2,3] 

int index=Arrays.binarySearch(i,2)结果index=1;

i就是数组名称,2代表下标值。

这个是查找数组中具体数值的下标;

如果元素不存在那么返回的是改元素应该所在的下标(负  的)-1减1;-1-1=-2;


数组排序:Arrays.sort(arr);就是给arr数组进行排序,顺序是由小到大
将数组转成字符进行输出,效果相当于for遍历:Arrays.toString(arr)
 Arrays就是操作数字的工具(搜索和排序);如果指定的数组是值是null;就会出现空指针异常错误

大数据运算:

 java中long型为最大整数类型,对于超过long型的数据如何去表示呢.在Java的世界中,超过long型的整数已经不能被称为整数了,它们被封装成BigInteger对象.在BigInteger类中,实现四则运算都是方法来实现,并不是采用运算符.

BigInteger(Integer类型的数值)和BigDecimal(Double类型的数值);

 

 

  对于浮点数据的除法运算,和整数不同,可能出现无限不循环小数,因此需要对所需要的位数进行保留和选择舍入模式

BigInteger的四则运算:

BigInteger n1=new BigInteger("100000000000000");

BigInteger n2=new BigInteger("200000000000000");
1、加法:n1.add(n2)              2.减法:n2.subtract(n1);      

3.乘法:n1.multiply(n2);        4.除法:n2.divide(n1)

 

BigDecimal的四则运算:
BigDecimal(可以解决计算失精度的问题)的四则运算:   BigDecimal num1=new BigDecimal("0.09");

BigDecimal num2=new BigDecimal("0.03");
1.加法:num1.add(num2)   2.减法:num2.subtract(num1)  3.乘法:num1.multiply(num2)  4.除法:num2.divide(num1)

 

Math类
 
package com.oracle.demo02;
public class Demo01 {
public static void main(String[] args) {
  //获取觉对值
  System.out.println(Math.abs(-90.3));//90.3 
  //向上取整,取自己本身
  System.out.println(Math.ceil(12.1));//  13.0
 //向下取整 ,取自己本身
  System.out.println(Math.floor(12.1));//12.0
  //四舍五入
  System.out.println(Math.round(12.3));//12
  //获取两个数的最大值
  System.out.println(Math.max(12, 22));//22
  //获取两个住的最小值
  System.out.println(Math.min(12, 22));// 12
  //求次幂
  System.out.println(Math.pow(2,  10));//1024.0
  //求0-1之间的随机小数
  System.out.println(Math.random());// 0.3847030033920509
}
}

 

Arrays;
package com.oracle.demo02;
import java.util.Arrays;
 public class Demo02 {
public static void main(String[] args) {
   int[] arr= {1,13,24,26,33,44,55};
  //调用 binarysearch 前提:数组必修为有序数组
   //如果元素在集合中不存在,那返回这个值在的位置-1
   int index=Arrays.binarySearch(arr, 24);
   System.out.println(index);//2
   //排序
   int [] arr2= {1,5,6,7,5,9,4,12,33,4};
    Arrays.sort(arr2);
    //将数组——》字符串
    System.out.println(Arrays.toString(arr2))
}
}

 

 

 

BigInteger

 

package com.oracle.demo02;

 

package com.oracle.demo02;
import java.math.BigInteger;
 public class Demo03 {
  public static void main(String[] args) { 
       BigInteger bi=new  BigInteger("1000000000000000000000000");
       BigInteger b2=new  BigInteger("1000000000000000000000000");
       //加法
       System.out.println(bi.add(b2));//2000000000000000000000000
       //减法
       System.out.println(b2.subtract(bi));//数太大了
       //乘法
       System.out.println(bi.multiply(b2));
       //除法
       System.out.println(b2.divide(bi));
  }
} 

BigDecimal

import java.math.BigDecimal;

 

public class Demo04 {
public static void main(String[] args) {
      //丢精度
      System.out.println(0.09 + 0.01);
      System.out.println(1.0 - 0.32);
      System.out.println(1.015 * 100);
      System.out.println(1.301 / 100);
      //精确计算
     BigDecimal b1=new  BigDecimal("0.09");
      BigDecimal b2=new  BigDecimal("0.01");    
     System.out.println(b1.add(b2));
      //加法
      BigDecimal b3=new  BigDecimal("1.0");
      BigDecimal b4=new  BigDecimal("0.32");
      System.out.println(b3.subtract(b4));
      //减法
      BigDecimal b5=new  BigDecimal("1.015");
      BigDecimal b6=new  BigDecimal("100");
      System.out.println(b5.multiply(b6));
//除法
BigDecimal b7=new BigDecimal("1.015"); BigDecimal b8=new BigDecimal("100"); System.out.println(b7.divide(b8)); } }

 

posted @ 2019-08-14 16:40  腊月出去玩  阅读(180)  评论(0编辑  收藏  举报