大数字处理类|学习笔记-阿里云开发者社区

开发者社区> 学堂小助手> 正文

大数字处理类|学习笔记

简介: 快速学习大数字处理类
+关注继续查看

开发者学堂课程【Java 高级编程大数字处理类】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/20/detail/328


大数字处理类


内容介绍:


1.大数字处理类的作用

2. 两种大数字处理类及其构造

3. 大数字类

4. 范例:使用 BigInteger 进行四则运算

5. divide AndRemainder(求余除法)

6.大数字处理类的使用范围

7. 范例:使用 BigDecimal 计算

8. 除法计算

9. 使用 BigDecimal 实现四舍五入处理

10. Math 与大数字处理类的区别


大数字处理类的作用:

大数字处理类可以实现海量数字的计算


两种大数字处理类及其构造:

BigInteger 类构造:public BigInteger(String val);

BigDecimal 类构造:public BigDecimal(String val);

大数字类

图片23.png


 范例:使用 BigInteger 进行四则运算

package cn.mldn.demo;

import java.math.BigInteger;

public class JavaAPIDemo {

public static void main(String[] args) throws Exception {

BigIntegerbigA = new

BigInteger("234134234234234234")

BigInteger bigB = new BigInteger("23423423");

System.out.println("加法操作:"+bigA.add(bigB));

System.out.println("减法操作:*+bigA.subtract(bigB));

System.out.println["乘法操作:"+bigA.multiply(bigB)D;

System.out.println("除法操作:"+bigA.divide(bigB));

图片24.png

需要注意的是,虽然提供有大数字类处理方法,但仍然需要考虑性能问题

divide AndRemainder(求余除法)

求余:Public BigInteger[]divide AndRemainder(BigInteger val)数组第一个元素为商,第二个为余数

范例:求余除法

 

package cn.mldn.demo;

import java. math. BigInteger;

public class JavaAPIDemo {

public static void main(String[] args) throws Exception {

BigIntegerbigA = new BigInteger("234234234234234234");

BigInteger bigB = new BigInteger("23423423");

BigInteger result [] = bigA.divideAndRemainder(bigB);

System.out.println("商:"+result[0]+"、余数:"+result[1]);

}

}

图片25.png


大数字处理类的使用范围

如果在计算时没有超过基本数据类型所包含的位数强烈不建议使用大数字处理类方法,因为性能很低,

 

 范例:使用 BigDecimal 计算

package cn.mldn.demo;

import java.math.BigDecimal;

public class JavaAPIDemo {

public static void main(string[] args) throws Exception {

BigDecimalbigA = new

BigDecimal("32890234890");

BigDecimal bigB = new BigDecimal("1892039");

System.out.println("加法计算:"+bigA.add(bigB));

BigDecimal result [] = bigA.divideAndRemainder(bigB);System.out.println("除法计算,商,"+result[e]+“、余数,"+result[1]);

}

}

图片26.png


除法计算:

public BigDecimal divide(BigDecimal divisor,int scale,RoundingMode roundingMode)

图片27.png


使用 BigDecimal 实现四舍五入处理

package cn.mldn.demo;

import java.math.BigDecimal;

import java. math. RoundingMode;

class MathUtil {

privateMathutil() {}

/**

实现数据的四舍五入操作

*@param num 要进行四舍五入操作的数字

@param scale 四舍五入保留的小数位数

@return 四舍五入处理后的结果

public static double round (double num, int scale) {

return new BigDecimal(num).divide(new BigDecimal(1.0),scale,RoundingMode.HALF_UP).doubleVal

}

}

public class JavaAPIDemo {

public static void main(String[] args) throws Exception {

System.out.println(MathUtil.round(19.6352,2));

}

}


Math 与大数字处理类的区别

BigDecimal 与 Math 相比,Math 的处理由于使用的都是基本数据类型,所以性能高于大数字处理类 BigDecimal

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
PO,VO,DAO,BO,POJO 之间的区别你懂吗?
value object:值对象。 通常用于业务层之间的数据传递,由new创建,由GC回收。
7 0
排名前 16 的 Java 工具类,哪个你没用过?
在Java中,实用程序类是定义一组执行通用功能的方法的类。 这篇文章展示了最常用的Java实用工具类及其最常用的方法。类列表及其方法列表均按受欢迎程度排序。数据基于从GitHub随机选择的50,000个开源Java项目。 希望您可以通过浏览列表来了解
8 0
ECS使用感受
阿里云服务器初体验
3 0
ECS初体验
esc简单的初体验
4 0
Java 强、弱、软、虚,你属于哪一种?
Java中的四种引用 Java中有四种引用类型:强引用、软引用、弱引用、虚引用。
3 0
Java 强、弱、软、虚,你属于哪一种?
Java中的四种引用 Java中有四种引用类型:强引用、软引用、弱引用、虚引用。
3 0
微服务架构 | *2.3 Spring Cloud 启动及加载配置文件源码分析(以 Nacos 为例)
Spring Cloud 要实现统一配置管理,需要解决两个问题:如何获取远程服务器配置和如何动态更新配置;在这之前,我们先要知道 Spring Cloud 什么时候给我们加载配置文件;
3 0
微服务架构 | *2.4 Nacos 获取配置与事件订阅机制的源码分析
为方便理解与表达,这里把 Nacos 控制台和 Nacos 注册中心称为 Nacos 服务器(就是 web 界面那个),我们编写的业务服务称为 Nacso 客户端; 由于篇幅有限,这里将源码分析分为上下两篇,其中上篇讲获取配置与事件订阅机制,下篇讲长轮询定时机制;
2 0
ECS使用体验
使用阿里云服务器搭建个人博客网站
4 0
C# 同步 异步 回调 状态机 async await Demo
C# 同步 异步 回调 状态机 async await Demo 我们项目的客户端和服务端通信用的是WCF,我就想,能不能用异步的方式调用WCF服务呢?或者说能不能用async await的方式调用WCF服务呢?
6 0
1214
文章
0
问答
来源圈子
更多
技术图谱:由专家组参与技术图谱的绘制与编写,知识与实践的结合让开发者们掌握学习路线与逻辑,快速提升技能 电子书:电子书由阿里内外专家打造,供开发者们下载学习,更与课程相结合,使用户更易理解掌握课程内容 训练营:学习训练营 深入浅出,专家授课,带领开发者们快速上云 精品课程:汇集知识碎片,解决技术难题,体系化学习场景,深入浅出,易于理解 技能自测:提供免费测试,摸底自查 体验实验室:学完即练,云资源免费使用
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载