一丶Java.text.DecimalFormat类与NumberFormat类

  首先 Java.text.DecimalFormat指的是DecimalFormat类在Java.text包中. 其中DecimalFormat类是NumberFormat的子类.

这个类的作用: 这个类的作用就是格式化我们的数值的.

比如:

  看如下代码:

    public static void main(String[] args) {// TODO 自动生成的方法存根fmt("%",0.30);             //百分号显示.fmt("##,##,##",123456); //以逗号隔开fmt("kg",12);            //直接这样写kg在前.因为你没有加占位符.fmt("##kg",12);        //加上##代表这里有两个字数字.我们后边有两个输出就是12kg}
//fmt是抽取的格式化方法. 参数parr是格式化字符串.  Value就是传入的值public static void fmt(String parr,double Value) {DecimalFormat fmt = new DecimalFormat(parr);String FmtStr = fmt.format(Value);  //使用format进行格式化.返回一个字符串.System.out.println("Value = " + FmtStr);}

可能第一眼看着很晕. 其实就是按照你的格式进行格式化.

比如 %. 代表的就是百分号. %30 ##的意思就是占位.意思是我们后边跟的数在这里已经有位置了. 比如123456 ######需要六个##占位.然后我们每两个加上一个逗号.那么就会进行加逗号返回.

格式如下: 具体参照JAVA AP提供

上面程序输出结果

具体格式化类中也有很多方法使用.不过常用的了解即可.使用的时候知道有怎么一个类.我们去查询文档即可.

二丶数学类 Math

  math类就是数学类.我们常用的数学方法都在这里.比如三角函数的求值. PI(3.14)等等. 具体方法不一一介绍了.下面一章节截图给出.

指数相关方法

3.取整相关方法

4.最大值最小值.绝地值

三丶随机数

  1.Math中的随机数

  随机数在java中可以使用math.random.

使用简介:

当我们使用Math.random的时候随机数的值如上.如果有n值.那么不会超过n. m+n 的时候.不会超过m+n的值.

代码例子:

    public static void main(String[] args) {//加上##代表这里有两个字数字.我们后边有两个输出就是12kggetRandomValue(1,10);}public static void getRandomValue(int argNum1,int argNum2) {int nValue =(int)(argNum1) +  (int)(Math.random() * (argNum2 - argNum1));System.out.println(nValue);}

我们每次运行的时候随机数的值都不会大于10

m 在上面代码中代表的就是 (int)(argNum1);

n 在上面代码代表的是就是 (argNum2 - argNum1);

int nValue = m + math.random * n; 带入公式即可.

  2.Random类中的随机数

上面使用了Math中的random方法.生成了随机数.其实Java也跟我们提供了Random类. 也是用来生成随机数的.有不同的地方.

不同的地方就是使用了随机数种子. 什么是随机数种子. 随机数种子可以看成一个数.在我们生成的随机数里面会使用这个种子参与运算符.

例如: xxx * 随机数种子 +xxxx / xxxx == xxxx; 当然这个公式是假的.我随便写的.目的就是告诉大家它的算法里面随机数种子会参与运算.

首先是构造函数:

两个构造.一个是默认生成一个种子.使用的时间. 另一个是我们填写的.

如果是默认的.随机数生成的都很类似.原因就是它使用了系统时间做运算.我们指定的就不会了.

看看提供的方法;

以nextint为例. 他的意思就是返回一个随机数. 小于n的值. 跟我们上面所讲的一样. m + n的值也可以.

public static void main(String[] args) {//加上##代表这里有两个字数字.我们后边有两个输出就是12kggetRandomValue(1,10);}public static void getRandomValue(int argNum1,int argNum2) {Random r = new Random();int nValue = r.nextInt(argNum1 + (argNum2 - argNum1));System.out.println(nValue);}

如果使用随机的的种子.那么生成的随机数就不同.如果我们构造里面给定了值,那么每次生成就会一样的.原因就是你的随机数种子没有改变. 随机数种子. 顾名思义就是随机的数.你的数一直一样.那么生成的随机数也就是一样的了.

四丶Java中的大数处理类 Java.math.BigInteger 跟 Java.math.Decimat类

  首先大数.什么是大数. 大数就是基本类型处理不下的数字. 举个简单的例子. 求阶乘. 求 2 - 2017的阶乘. 这个数不管是int类型.还是long类型 longlong类型(C++的) 都是放不下的.但是我们有需求怎么办.

此时我们就要想办法将它做出来. 第一种办法就是使用数组.自己模拟进位操作.乘法操作. 具体可以上网搜一下大数阶乘.当时考试的时候有怎么一道题目.当时做出来了.现在已经忘了.

废话不多说

  我们说了Java是面相对象.方法都给你提供好了.你只管调用即可. 此时我们的 BigInteger类 跟 Decimat类就是将我们上面所述的步骤给封装起来了

BigInteger类: 大数处理整数类. 不带小数. 主要用于处理整数的 加减乘除

Decimat类: 带小数的大数处理

以BigInteger为例讲解

构造方法:

构造方法有四个.我们可以使用第三个. 意思就是传入一个字符串. 这个字符串是一个大数值.

方法提供:

  方法提供了很多. 基本的加减乘除 还有求绝对值等等.不会一一讲解.

我们以基本的加减乘除为例 add subtract muiply divide

    public static void main(String[] args) {//加上##代表这里有两个字数字.我们后边有两个输出就是12kgShowNumber();}public static void ShowNumber() {BigInteger a = new BigInteger("100000000000000000");BigInteger b = new BigInteger("400000000000000000");BigInteger c = a.add(b);System.out.println(c.toString());}

使用三个BigInteger类. 分别是 a b c. a b的值通过构造给定. a.add的时候.返回值也是一个BigInteger.所以用c接受.

最后输出的时候.需要调用 c.toString();方法. toString是父类Object的.BigInteger进行了重写.他重写的就是输出计算后的数值.

输出结果:

剩下的方法.我们需要用到自己查询JAVA API即可.

五丶总结

  1.DecimalFormat类是NumberFormat的子类. 作用就是按照指定格式格式化数值.进行输出. 比如 %30等等. 在C++中要使用方法 sprintf或者 wsprintf是C 调用约定.

  2.math数学类. math数学类提供了很多数学上的方法. 三角函数 取整 指数 最大最小值. 等方法.

  3.学习了随机数类 Random.以及math中的随机函数random. 有一个公式 m + math.random * n; 结果小于m+n的值.不会等于m+n的值或者大于m+n的值. random类也可以使用这个公式.

   Random类中提供了方法让我们获取随机数.

  4.大数处理类 BigInteger (大数整数处理) 以及 Decimat类. (带小数的大数处理) 这两个类适用于需要使用大数的时候.提供了基本的加减乘除. 以及其他的数学函数. 取余 取绝对值.....

Java开发知识之Java的数字处理类Math类相关推荐

  1. Java开发知识之Java面相对象

    Java开发知识之Java面相对象上 一丶什么是面相对象 了解什么什么是面相对象.那么首先要了解什么是面相过程. 面相过程的意思就是. 什么事情都亲力亲为. 比如上一讲的排序算法. 我们自己写的. 这 ...

  2. Java开发知识之Java中的集合上List接口以及子类讲解.

    Java开发知识之Java中的集合类 一丶什么是集合类 如果你学习说数据结构,那么学习集合就很简单. 因为集合就是存储数据的结构. 例如 有链表结构 (list ) 还有 map结构.等等. 集合类就 ...

  3. Java开发知识之Java的异常处理

    Java开发知识之Java的异常处理 一丶异常概述 在讲解异常之前,我们要搞清楚.什么是异常. 通俗理解就是我们编写的程序出问题了.进行处理的一种手段. 比如我们的QQ.有的时候就崩溃了.比如出现xx ...

  4. Java开发知识之Java的包装类

    Java开发知识之Java的包装类 一丶什么是包装类 包装类的意思就是对基本数据类型封装成一个类.这些类都是Number的子类.区别就是封装数据类型不同.包含的方法基本相同. 具体可以查询JAVA A ...

  5. java中math类的作用_Java开发知识之Java的数字处理类Math类

    Java开发知识之Java的数字处理类Math类 一丶Java.text.DecimalFormat类与NumberFormat类 首先 Java.text.DecimalFormat指的是Decim ...

  6. java开发怎么包装_Java开发知识之Java的包装类

    Java开发知识之Java的包装类 一丶什么是包装类 包装类的意思就是对基本数据类型封装成一个类.这些类都是Number的子类.区别就是封装数据类型不同.包含的方法基本相同. 具体可以查询JAVA A ...

  7. java里面string什么意思_「Java基础知识」Java中的字符串是什么

    原标题:「Java基础知识」Java中的字符串是什么 字符串顾名思义就是一些字符组合在一起组成的一串数据,称作字符串,在Java中字符串用双引号包围起来,格式为String string = &quo ...

  8. JAVA基础再回首(一)——基本概念、JAVA开发工具、JAVA基本语法

    JAVA基础再回首(一)--基本概念.JAVA开发工具.JAVA基本语法 学了java,做了android应用开发,现在回想起来,真的是一路坎坷..我在上章博客中提到了我以后的几个学习计划和目标就是把 ...

  9. 《Java基础知识》Java变量的声明、初始化和作用域

    <Java基础知识>Java变量的声明.初始化和作用域 一.Java变量的声明 在 Java 程序设计中,每个声明的变量都必须分配一个类型.声明一个变量时,应该先声明变量的类型,随后再声明 ...

最新文章

  1. SCDPM2012功能测试(4)—配置通知
  2. Go 获取键盘输入,进制转换
  3. 拼的html页面乱,页面分页html拼接
  4. docker privileged作用_docker总结
  5. Web前端期末大作业--汽车主题网页设计002(HTML+CSS+JavaScript+)实现
  6. 使用.NET进行高效率互联网敏捷开发的思考和探索【一、概述】
  7. 一个完整的项目流程图_工程建设项目史上最完整的全流程图,必收藏备用!
  8. python如何加载图片_python如何导入图片
  9. log4j配置时的位置问题
  10. 女生体寒的·手脚冰凉的都来看了(男的替老婆收着)
  11. beego golang bootstrap-table做月度考勤(打卡、签到)统计表
  12. C语言中的文件操作(二)
  13. logo是啥_logo是什么意思 LOGO知识解读
  14. 一行代码能实现什么丧心病狂的功能?
  15. 如何实现今日头条跳转到微信?
  16. 国产小家电品牌如何用dtc模式打造新中产超爆款?
  17. 贴片电阻封装经验选择学习研究总结
  18. Android使用Fragment打造万能页面切换框架
  19. python预测股票 keras_使用LSTM模型预测股价基于Keras
  20. 实验室信息化管理LIMS 系统常见功能

热门文章

  1. 程序员也可以浪漫----倾情奉献一份你值得拥有的浪漫网站源码(情人节快来了~)...
  2. 慢慢欣赏linux cpupower编译
  3. python恢复默认设置_pycharm重置设置,恢复默认设置的方法
  4. 高通平台USB如何枚举 mass_storage,以及将nandflash/sd/emmc存储分区通过usb mass_storage function映射到PC 上面
  5. Android Audio实战——音量调节(十二)
  6. python里config_Python config.get_config方法代码示例
  7. “GAN之父”Goodfellow与网友互动:关于GAN的11个问题(附视频)
  8. 问了ChatGPT几个硬件问题
  9. 分发饼干Python解法
  10. 《Linux/Unix设计思想:软件的杠杆效应》读后感