java学习笔记——大数据操作类

java.math包中提供了两个大数字操作类:BigInteger(大整数操作类) BigDecimal(大小数操作类).

  • 大整数操作类:BigInteger

BigInteger类构造方法:public BigInteger(String val)

常用方法:public BigInteger add(BigInteger val)

public BigInteger subtract(BigInteger val)

public BigInteger multiply(BigInteger val)

public BigInteger divide(BigInteger val)

public BigInteger[] divideAndRemainder(BigInteger val):第一个数是商第二个数为余数

public BigInteger pow(int exponent)返回其值为 (thisexponent) 的 BigInteger。注意,exponent 是一个整数而不是 BigInteger。

以上代码在实际运用中用途并不大,在工作中如果遇到数学问题记得找第三方的开发包。

  • 大小数操作类:BigDecimal

基本方法和操作和BigInteger相同,但BigDecimal扩展了一个非常重要的方法:

Math类中的round()方法进行四舍五入操作过程中采用的是将小数点全部省略的做法,但这种做法在实际用途中并不可取。所以Math.roucnd()是一个没什么实际用途的方法,这时候只能利用BigDecimal类完成。

BigDecimal中提供了一个除法操作:public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode)

divisor:被除数

scale:保留的小数位数

roundingMode:进位模式

(public static final int ROUND_HALF_UP  

public static final int ROUND_HALF_DOWN

class MyMath{
    public static double round(double num,int scale){
        BigDecimal big=new BigDecimal(num);
        BigDecimal res=big.divide(new BigDecimal(1), scale, BigDecimal.ROUND_HALF_UP);//四舍五入所以括号中使用new BigDecimal(1)
        return res.doubleValue();
    }
}
public class BigDecimalDemo {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println(MyMath.round(178.1436534, 6));
        System.out.println(MyMath.round(178.1436534, 3));
        System.out.println(MyMath.round(178.1436534, 0));
    }
}

时间: 2024-10-13 02:41:39

java学习笔记——大数据操作类的相关文章

java学习笔记07--日期操作类

java学习笔记07--日期操作类 一.Date类 在java.util包中定义了Date类,Date类本身使用非常简单,直接输出其实例化对象即可. [java] view plaincopy public class T { public static void main(String[] args) { Date date  = new Date(); System.out.println("当前日期:"+date); //当前日期:Thu May 16 23:00:57 CST 

Java学习笔记_23_List接口实现类

23.List接口实现类: List接口继承了Collection接口,它是一个允许存在重复项的有序集合. 1>实现类ArrayList: ArrayList类支持可随需要而增长的动态数组.数组列表以一个原大小被创建,当超过了它的大小, 类集自动增大,当对象被删除后,数组就可以缩小. 优点:ArrayList类对于使用索引取出元素用较高的效率,他可以用索引快速定位对象. 缺点:ArrayList类对于元素的删除或插入速度较慢. 构造方法: · ArrayList(): 构造一个初始容量为10的空

黑马程序员——JAVA学习笔记十一(文件操作File)

为了很方便的代表文件的概念,以及存储一些对于文件的基本操作,在java.io包中设计了一个专门的类——File类. 在File类中包含了大部分和文件操作的功能方法,该类的对象可以代表一个具体的文件或文件夹,所以以前曾有人建议将该类的类名修改成FilePath,因为该类也可以代表一个文件夹,更准确的说是可以代表一个文件路径. 1.创建文件 1)boolean java.io.File.createNewFile() throws IOException用来创建文件,如果文件存在,创建失败,返回fa

疯狂java学习笔记之面向对象-定义类、方法、构造器

Java面向对象 1.定义类 2.创建对象.调用方法 类和对象: 某一类对象的概念定义. 比如:人类 - 抽象出来的概念(不特指某个人) 对象 - 在类的概念下产生的一个实例,它就是一个对象了. java程序中,类是最小的程序单位 - 所有的java程序都必须从定义类开始 定义类的语法格式: [修饰符]  class  类名{ //0 ~ N 个 Field 定义 //0 ~ N 个 方法定义 //0 ~ N个 构造器定义 } 一个类中最多只能出现五种成分:Field.方法.构造器 一个类最常见

java学习笔记之DBUtils工具类

DBUtils工具类 一.介绍 DBUtils是Apache组织开源的数据库工具类. 二.使用步骤 ①.创建QueryRunner对象 ②.调用update()方法或者query()方法执行sql语句 三.构造方法及静态方法 QueryRunner类 1.构造方法 ①.无参构造 QueryRunner qr =new  QueryRunner(); 使用无参构造的时候,调用update方法和query方法时就需要使用带Connection 类型参数的重载形式 ②.有参构造 QueryRunner

Java学习笔记24(Integer类)

这里介绍基本数据类型包装类,Integer是int的包装类, 其他的基本数据类型的包装类的方法和Integer的方法几乎一致,会一种即可全会 基本数据类型包装类的特点:用于在基本数据类型和字符串之间进行转换 这些类属于java的核心类,不需要import Integer类的方法: parseInt方法 示例: 将字符串变成基本类型 package demo; public class IntegerDemo { public static void main(String[] args) { f

Java学习笔记七——数组工具类Arrays

数组工具类Arrays Java提供的Arrays类里包含的一些static修饰的方法可以直接操作数组.若将里面的方法用熟的话,那开发效率会大大提高.下面介绍其中的方法. List<T> asList(T... a) 作用:将指定数组或数组元素,转换成固定大小的List. 用法: String[] strArr = { "aaa", "bbb", "vvv" }; //用法1:参数是数组引用 List<String> li

Java学习笔记五:复用类

当我们在使用第三方或者其他人已经写好的类时,通常有两种方法: (1).组合:在新的类中产生现有类的引用. (2).继承:按照现有类的类型创建新类.   1.组合 简单理解就是新类中,创建一个变量,变量的引用为现有类. 我们在很多场景下都是用到组合,如: public class Lesson_04_Extend { private Extend1 extend1; // 组合方式,创建成员变量(UML 组合关系) public void print(Extend1 extend2) // (UM

java学习笔记(七)类的高级概念

类的高级概念包括:访问修饰符.封装.静态成员.初始化块以及内部类等混合内容. 访问修饰符: (1).公开访问级别:使用public关键字修饰.用public关键字修饰的成员对外公开,即公开成员可以被任何其它对象访问. (2).受保护访问级别:使用protected关键字修饰.受保护的成员可以被同一包中的类所访问,还可以被类的子类所访问,不管子类是在哪个包中. (3).默认访问级别:没有访问修饰符.默认访问级别的成员可以被同一包中的其它类所访问. (4).私有访问级别:使用private关键字修饰