package cn.liuliu.com;

import java.math.BigDecimal;
import java.math.BigInteger; /*
* 一、Math类?
*
* 1.是数学工具类,可以做一些数学计算。---->开方 对数 三角函数等!
* 2.所有的方法都是 静态方法, 不需要new ,直接调用类名即可!
*
* 二、BigInteger类?----->大数运算!
*
* 当数字超过了 long的范围 计算时用BigInteger!
*
* 1.定义大数,通过new的方式! 【计算的数字需要加上引号!】 2.计算值 a1.add(a2);两数相加!
* BigInteger a1=new BigInteger("454654654646464646464564");
BigInteger a2=new BigInteger("46546489798798798798787498");
BigInteger a3=a1.add(a2); //a1+a2;
*
* 三、BigDecimal类?------>浮点大数运算,提高浮点数运算精度!
*
* 计算机 二进制 表示浮点数会不精确! 解决方法 BigDecimal!
*
* 1.定义小数,通过new的方式!【计算的数字需要加上引号!】 2.计算值 a1.add(a2);两数相加!
* BigDecimal a1=new BigDecimal("0.09");
BigDecimal a2=new BigDecimal("0.01");
BigDecimal a3=a1.add(a2); //a1+a2;
*/
public class MathDemo {
public static void main(String[] args) {
math();
pow$and$sqrt();
random();
bigIntegerDemo();
bigDecimal();
}
//1.绝对值
public static void math(){
int i=Math.abs(-10);
System.out.print(i+" "); //
System.out.println();
double i01=Math.floor(7.9); //向下舍入 7
double i02=Math.ceil(8.1); //向上舍入 9
double i03=Math.round(1.4); //四舍五入规则!
System.out.println(i01+" "+i02+" "+i03);
}
//2.求 次方 和 开平方!
public static void pow$and$sqrt(){
double a=Math.pow(4, 4); //4的4次方。前面是数,后面是需要求的次方数!double定义!
double a1=Math.sqrt(16); //16开平方 4
System.out.print(a+" ");
System.out.println(a1);
}
//3.创建一个随机数 0---1之间!
public static void random(){
double a= Math.random(); //默认定义double 定义int 需要强制转型!
System.out.println(a);
}
//4.大数运算!
public static void bigIntegerDemo(){
BigInteger a1=new BigInteger("454654654646464646464564");
BigInteger a2=new BigInteger("46546489798798798798787498");
BigInteger a3=a1.add(a2); //a1+a2;
System.out.println("大数运算结果 "+a3);
}
//5.浮点大数运算!
public static void bigDecimal(){
System.out.println(0.09+0.01); //计算机 二进制 表示浮点数会不精确! 解决方法 BigDecimal!
BigDecimal a1=new BigDecimal("0.09");
BigDecimal a2=new BigDecimal("0.013");
BigDecimal a3=a1.add(a2);
BigDecimal a4=a1.divide(a2,3,BigDecimal.ROUND_HALF_UP); //不能整除 出现异常!数字【3】就是保留三位小数 【 BigDecimal.ROUND_HALF_UP】四舍五入!
System.out.println(a3);
System.out.println(a4);
} }

Math java的更多相关文章

  1. Java基础知识强化80:Math类random()方法的小扩展(控制产生目的数字的概率)

    1. Math.random()方法: Math.random()出现的数据是0.0<= x < 1.0之间,随机出现一个数据Math.random()>0.1概率是0.9 那么如下 ...

  2. Java之StringBuffer,StringBuilder,Math,Date,SimpleDateFormat,UUID,File

    java.lang 类 StringBuffer java.lang.Object java.lang.StringBuffer 所有已实现的接口: Serializable, Appendable, ...

  3. Java基础教程——Math类

    Math Java这种级别的编程语言怎么可能没有数学相关的操作呢? java.lang.Math类提供了基本数学运算的方法. 该类是final的,说明不能被继承. 该类的构造方法是私有的(privat ...

  4. Effective Java笔记一 创建和销毁对象

    Effective Java笔记一 创建和销毁对象 第1条 考虑用静态工厂方法代替构造器 第2条 遇到多个构造器参数时要考虑用构建器 第3条 用私有构造器或者枚举类型强化Singleton属性 第4条 ...

  5. 万能的林萧说:一篇文章教会你,如何做到招聘要求中的“要有扎实的Java基础”。

    来历 本文来自于一次和群里猿友的交流,具体的情况且听LZ慢慢道来. 一日,LZ在群里发话,"招人啦." 然某群友曰,"群主,俺想去." LZ回之,"你 ...

  6. 将Java应用程序打包成可执行的Jar包

    可以将多个class文件打包为jar包,在指定程序入口点情况下,可以用 java –jar jar包名称 的方式调用jar包内主类的main函数. 程序源代码如下: //Math.java publi ...

  7. Java 随机数

    本章先讲解Java随机数的几种产生方式,然后通过示例对其进行演示. 广义上讲,Java中的随机数的有三种产生方式:(01). 通过System.currentTimeMillis()来获取一个当前时间 ...

  8. java 反射技术

    什么是反射?反射就是将字节码中的各种成分映射到相应的java类中来,java反射技术自JDK1.1以来就出现了,目前大多数流行的框架都采用了这种技术,可见其重要性,这篇文章将详细介绍我对java反射技 ...

  9. Java的哪些事

    Java的哪些事--------------------------------------------------Java学习分2个方面: Java语法与Java类库 Java: A simple, ...

随机推荐

  1. jenkins+svn+python+appium启动+mail+html报告

    第一步:jenkins从svn中获取最新的测试代码 1.jenkins启动,进入jenkins目录,使用“java -jar jenkins.war”启动(安装后,jenkins已自启动,不用再自己启 ...

  2. 20175329 2018-2019-3《Java程序设计》第三周学习总结

    学号 20175329 2018-2019-3<Java程序设计>第三周学习总结 教材学习内容总结 第四章 第四章主要介绍JAVA中的类与对象的划分,其中有很多复杂的概念以及知识点需要花很 ...

  3. Numpy求均值、中位数、众数的方法

    首先需要数据源,这里随便写了一个: nums = [1,2,3,4] 求均值和中位数均可以使用numpy库的方法: import numpy as np #均值 np.mean(nums) #中位数 ...

  4. CC2541之串口调试PM2.5传感器

    1. CC2541通过串口和PM25设备PMS7003通信,串口9600波特率,手机APP显示数据一直是128,先检查蓝牙数据通路问题,数据通路没问题 2. 看下串口是否OK,串口也不通,看到宏定义Z ...

  5. 基于 Django2 实现邮箱注册登录功能

    1. 开发环境 Python 3.6.5 Django 2.2 2. 项目功能 用户登录 邮箱注册 图形验证码 找回密码 修改密码 用户退出 3. 项目创建 首先创建项目: django-admin ...

  6. 写了个限制文本框输入最大长度的jquery插件 - jquery.restrictFieldLength.js

    做了个限制文本框最大输入长度的jquery插件,效果图(共2个文本框,限制最多10个字符): 功能:当超出设置的最大字符长度后,会截断字符串.更改当前元素的css(会在1秒后还原css).支持长度超出 ...

  7. Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程)

    目录 前言 第一步:安装Anaconda 1.下载和安装 2.配置Anaconda环境变量 第二步:安装TensorFlow-GPU 1.创建conda环境 2.激活环境 3.安装tensorflow ...

  8. WCF系列教程之WCF服务配置工具

    本文参考自http://www.cnblogs.com/wangweimutou/p/4367905.html Visual studio 针对服务配置提供了一个可视化的配置界面(Microsoft ...

  9. 十二、存token获取token刷新token发送header头

    //测试token //获取token function setToken(data){ var storage = window.localStorage; if(!storage){ alert( ...

  10. POJ - 3244-Difference between Triplets

    其实我最开始没有这道题...是做到UPC-11079-小P的决斗,训练结束后然后搜索了一波,才了解这个题的. 非常牛逼的题...这么多人做出来了...我好菜... 对于每对三元组Ta=(La,Ja,K ...