Java数字类
1.整数 Short,Int,Long
2.浮点数 Float,Double
3.大数类 BigInteger(大整数),BigDecimal(大浮点数)
4.随机数类 Random
5.工具类 Math

BigInteger类的一些操作用法如下:

BigInteger:支持无限大的整数运算

package cn.edu.xjdx.zzk;import java.math.BigInteger;public class BigIntegerTest {public static void main(String[] args) {// TODO 自动生成的方法存根BigInteger b1=new BigInteger("123456789");//声明BigInteger对象BigInteger b2=new BigInteger("987654321");System.out.println("b1:"+b1 + ", b2:"+b2);System.out.println("加法操作: "+b2.add(b1));System.out.println("减法操作:"+b2.subtract(b1));//执行b2-b1操作System.out.println("乘法操作:"+b2.multiply(b1));System.out.println("除法操作:"+b2.divide(b1));//执行b2/b1操作System.out.println("最大数:"+b2.max(b1));System.out.println("最小数:"+b2.min(b1));BigInteger result[]=b2.divideAndRemainder(b1);//求出余数的除法操作System.out.println("商是"+ result[0] +"  余数是"+result[1]);System.out.println("等价性是:"+ b1.equals(b1));int flag=b1.compareTo(b2);if(flag==-1)System.out.println("比较操作:b1<b2");else if(flag==0)System.out.println("比较操作:b1==b2");elseSystem.out.println("比较操作:b1>b2");}}

操作结果如下图:

关于Java中的Integer的==和equals的区分和使用,可以参考这篇博文:https://www.cnblogs.com/mrhgw/p/10449391.html

BigDecimal类的一些操作用法如下:

BigDecimal:支持无限大的浮点数运算
BigDecimal中divide方法详解:
首先说一下用法,BigDecimal中的divide主要就是用来做除法的运算。其中有这么一个方法.

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

第一个参数是除数,第二个参数代表保留几位小数,第三个代表的是使用的模式。

BigDecimal.ROUND_DOWN:直接省略多余的小数,比如1.28如果保留1位小数,得到的就是1.2BigDecimal.ROUND_UP:直接进位,比如1.21如果保留1位小数,得到的就是1.3BigDecimal.ROUND_HALF_UP:四舍五入,2.35保留1位,变成2.4BigDecimal.ROUND_HALF_DOWN:四舍五入,2.35保留1位,变成2.3后边两种的区别就是如果保留的位数的后一位如果正好是5的时候,一个舍弃掉,一个进位。

示例代码如下:

package cn.edu.xjdx.zzk;import java.math.BigDecimal;public class BigDecimalTest {@SuppressWarnings("deprecation")public static void main(String[] args) {// TODO 自动生成的方法存根BigDecimal b1=new BigDecimal("123456789.987654321");BigDecimal b2=new BigDecimal("987654321.123456789");System.out.println("b1: "+b1+"  b2: "+b2);System.out.println("加法操作: "+b2.add(b1));System.out.println("减法操作:"+b2.subtract(b1));//执行b2-b1操作System.out.println("乘法操作:"+b2.multiply(b1));//需要指定位数,防止无限循环,或者包含在try-catch中System.out.println("除法操作:"+b2.divide(b1, 10, BigDecimal.ROUND_HALF_UP));//执行b2/b1操作System.out.println("最大数:"+b2.max(b1));System.out.println("最小数:"+b2.min(b1));int flag=b1.compareTo(b2);if(flag==-1)System.out.println("比较操作:b1<b2");else if(flag==0)System.out.println("比较操作:b1==b2");elseSystem.out.println("比较操作:b1>b2");System.out.println("=====================================");//尽量采用字符串赋值System.out.println(new BigDecimal("2.3"));System.out.println(new BigDecimal(2.3));System.out.println("=====================================");BigDecimal num1=new BigDecimal("10");BigDecimal num2=new BigDecimal("3");//需要指定位数,防止无限循环,或者包含在try-catch中BigDecimal num3=num1.divide(num2, 3, BigDecimal.ROUND_HALF_UP);System.out.println(num3);}}

运行结果如下图:

随机数类

  • Random随机数
    -nextInt()返回一个随机int
    -nextInt(int a)返回一个[0,a)之间的随机int
    -nextDouble返回一个[0.0,1.0)之间的double,含 0.0 而不包含 1.0
    -ints方法批量返回谁技术数组

  • Math.random返回一个0.0到1.0的double,即[0.0,1.0),含 0.0 而不包含 1.0

数字工具类

  • Java,lang,Math
  • 绝对值函数abs
  • 对数函数log
  • 比较函数max,min
  • 幂函数pow
  • 四舍五入函数round等
  • 向下取整floor
  • 向上取整ceil
    示例代码如下:
package cn.edu.xjdx.zzk;public class MathTest {public static void main(String[] args) {// TODO 自动生成的方法存根System.out.println(Math.abs(-5));//绝对值System.out.println(Math.max(-5, -8));//最大值System.out.println(Math.pow(-5, 2));//求幂System.out.println(Math.round(3.5));//四舍五入System.out.println(Math.ceil(3.5));//向上取整System.out.println(Math.floor(3.5));//向下取整}}

运行结果如下:

Java-数字相关类相关推荐

  1. 日期的包装 java,Java基础之Java常用类--Object类,字符串相关类,包装类,日期相关类,数字相关类...

    Java是一种面向对象的语言,也就是将万事万物可以描述为对象,特点如下: 1.面向对象是常见的一种思考习惯,符合人们的思考习惯. 2.面向对象的出现,将复杂的事情简单化. 3.面向对象的出现,将之前过 ...

  2. 第八章笔记 Java常用类

    第八章笔记 Java常用类 文章目录 第八章笔记 Java常用类 第一节 Java类库概述 Java类库文档 Java类库列表 第二节 数字相关类 Java数字类 大数字类 随机数类 数字工具类 第三 ...

  3. java常见类——工具类

    目录 工具类 Java开发者写好的类---官方文档 API 包装类(封装类) 数学相关 Math类 Random类 UUID类 BigInteger类 BigDecima类 超过了double取值范围 ...

  4. java字符存储_用java的类集框架做一个字符存储器(15)

    11.这是java的关于java的类集框架做一个字符存储器的源代码可以直接进行编译运行,希望大家能够从中获益良多. package niming; //导入ArrayList这个类 import ja ...

  5. 干货:排名前 16 的 Java 工具类!

    2019独角兽企业重金招聘Python工程师标准>>> 干货:排名前 16 的 Java 工具类!   在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最 ...

  6. 排名前 16 的 Java 工具类

    转载来自微信公众号:Java 技术栈.如有侵权,请联系作者删除!! 在 Java 中,工具类定义了一组公共方法,这篇文章将介绍 Java 中使用最频繁及最通用的 Java 工具类.以下工具类.方法按使 ...

  7. Java枚举类使用方式

    Java枚举类使用方式 单枚举定义 : /*** * @title: 单枚举定义* @author: wll* @since: 2021-1-27 14:47:54*/ public enum Jud ...

  8. java流类图结构_java I/O 流总结

    一.java 流操作有关的类和接口: 类                                                                          说明 Fil ...

  9. Java Process类的浅学习

    Java Process类的浅学习 文章分类:Java编程 今天用了下java.lang.Process类,只是初步的学习,并没有深入实践,因为感觉它的用途并不是很大,偶尔才可能用上,如果要经常使用它 ...

  10. java File类 常用相关函数

    java File类 相关函数 1.构建函数 2.判断相关函数 4.创建相关函数 5.删除相关函数 6.获取相关函数 1.构建函数 /*** File 构造方法* file 常用构造方法* 1: Fi ...

最新文章

  1. oracle occi出现乱码,linux下occi操作oracle数据库,中文乱码的问题
  2. rust高级矿场_高级 Rust 所有权管理
  3. fmea手册_新失效模式与影晌分析FMEA手册白皮书
  4. 【☀️Linux什么姿势最舒服?简单讲讲☀️】嵌入式Linux入门
  5. 面向对象编程(基础简介)
  6. css 超出文字头尾相接滚动_前端的一些雕虫小技,从100%和滚动条说起
  7. matlab 放射治疗,dicom-rt解析及在精确放射治疗计划系统中的应用.pdf
  8. 【干货】无人机如何进行倾斜摄影的航线规划
  9. C:矩形相交、相包含、相离关系判断
  10. Linux入门命令解释(1)
  11. CAN通讯与RS485通讯区别
  12. coredump 瘦身风云
  13. 清华大学计算机学院软件工程,中国“软件工程”专业最好的3所大学,都是985,清华大学上榜...
  14. linux SIGABRT信号
  15. BlueTooth: 蓝牙Profile的概念和常见种类
  16. Lightbox改造——支持滚轮缩放
  17. 游戏模型外包-【精刚石数位】
  18. MongoDB Node 驱动使用指南
  19. java删除图片杂色_Java生成图片,Graphics生成图片,Graphics2D生成图片,Awt生成图片
  20. “中国健康与营养调查”CHNS数据

热门文章

  1. bootstrap pagewrapper_BootStrap table服务端分页
  2. 街霸5 android,MD街头霸王5免安装版
  3. android 布局圆变椭圆,Android实现自定义圆形、圆角和椭圆ImageView(使用Xfermode图形渲染方法)...
  4. 惩罚函数外点matlab,禁忌搜索算法求解带时间窗的车辆路径问题(惩罚函数版 附MATLAB代码)...
  5. webdriver高级应用- 操作日期控件
  6. bzoj 2843: 极地旅行社
  7. 异常检测(Anomaly detection): 异常检测算法(应用高斯分布)
  8. C Primer Plus note7
  9. strcpy vs memcpy
  10. react-hooks原理