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. day1 计算机组成、操作系统

    一:编程与编程的目的 1.什么是语言?什么是编程语言? 语言是一个事物与另一个事物沟通的介质. 编程语言是程序员与计算机沟通的介质. 2.什么是编程?为什么要编程? 编程是程序员将自己想要让计算机做的 ...

  2. Linux之RTOS学习

    Linux之RTOS学习 RTOS: Real time operating system 系统选型 可选方案 RTLinux - FSMLabs, WindRiver Systems - http: ...

  3. Spring Security(十八):5.9 Post Processing Configured Objects

    Spring Security’s Java Configuration does not expose every property of every object that it configur ...

  4. leetcode 344. Reverse String 、541. Reverse String II 、796. Rotate String

    344. Reverse String 最基础的旋转字符串 class Solution { public: void reverseString(vector<char>& s) ...

  5. i春秋-百度杯十月场-EXEC

    进入网站,查看源代码,发现是用vim编辑,而抓包没有有效信息,加参数也无果.百度查了一下vim能形成什么文件.找到答案说,用vim编辑文本xxx.php中途退出,会自动创建一个文件.xxx.php.s ...

  6. github 遇到Permanently added the RSA host key for IP address '192.30.252.128' to the list of known hosts问题解决

    刚开始使用github的时候不是很了解,新手一般的都会遇到这个问题Permanently added the RSA host key for IP address '192.30.252.128' ...

  7. Jlink使用技巧之读取STM32内部的程序

    前言 上一篇Jlink系列文章介绍了如何使用J-Flash来下载Hex或Bin文件到单片机,具体可参考Jlink使用技巧之单独下载HEX文件到单片机,本篇文章介绍,如何使用JFlash来读取单片机的程 ...

  8. jquery tooltip

    这是个加了点淡入淡出效果的顶部tooltip控件,会自动消失 用法: <head> <title></title> <link href="base ...

  9. MyBatis动态SQL(认真看看, 以后写SQL就爽多了)

    目录 0 一起来学习 mybatis 1 数据准备 2 if 标签 2.1 在 WHERE 条件中使用 if 标签 2.1.1 查询条件 2.1.2 动态 SQL 2.1.3 测试 2.2 在 UPD ...

  10. handsontable 的核心方法

    原文地址:http://blog.csdn.net/mafan121/article/details/46122577 1.为handsontable添加钩子方法 addHook(key,callba ...