Math java
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的更多相关文章
- Java基础知识强化80:Math类random()方法的小扩展(控制产生目的数字的概率)
1. Math.random()方法: Math.random()出现的数据是0.0<= x < 1.0之间,随机出现一个数据Math.random()>0.1概率是0.9 那么如下 ...
- Java之StringBuffer,StringBuilder,Math,Date,SimpleDateFormat,UUID,File
java.lang 类 StringBuffer java.lang.Object java.lang.StringBuffer 所有已实现的接口: Serializable, Appendable, ...
- Java基础教程——Math类
Math Java这种级别的编程语言怎么可能没有数学相关的操作呢? java.lang.Math类提供了基本数学运算的方法. 该类是final的,说明不能被继承. 该类的构造方法是私有的(privat ...
- Effective Java笔记一 创建和销毁对象
Effective Java笔记一 创建和销毁对象 第1条 考虑用静态工厂方法代替构造器 第2条 遇到多个构造器参数时要考虑用构建器 第3条 用私有构造器或者枚举类型强化Singleton属性 第4条 ...
- 万能的林萧说:一篇文章教会你,如何做到招聘要求中的“要有扎实的Java基础”。
来历 本文来自于一次和群里猿友的交流,具体的情况且听LZ慢慢道来. 一日,LZ在群里发话,"招人啦." 然某群友曰,"群主,俺想去." LZ回之,"你 ...
- 将Java应用程序打包成可执行的Jar包
可以将多个class文件打包为jar包,在指定程序入口点情况下,可以用 java –jar jar包名称 的方式调用jar包内主类的main函数. 程序源代码如下: //Math.java publi ...
- Java 随机数
本章先讲解Java随机数的几种产生方式,然后通过示例对其进行演示. 广义上讲,Java中的随机数的有三种产生方式:(01). 通过System.currentTimeMillis()来获取一个当前时间 ...
- java 反射技术
什么是反射?反射就是将字节码中的各种成分映射到相应的java类中来,java反射技术自JDK1.1以来就出现了,目前大多数流行的框架都采用了这种技术,可见其重要性,这篇文章将详细介绍我对java反射技 ...
- Java的哪些事
Java的哪些事--------------------------------------------------Java学习分2个方面: Java语法与Java类库 Java: A simple, ...
随机推荐
- 【vue】vue中实现导出excel
1.安装依赖 cnpm install -S file-saver xlsx cnpm install -D script-loader 2.例如在src文件夹中新建一个名为vendor(vendor ...
- wxWidgets与其它GUI工具库比较
WxWidgets Compared To Other Toolkits Some general notes: wxWidgets not only works for C++, but als ...
- Spring Security(四):2.1 Introduction What is Spring Security?
Spring Security provides comprehensive security services for Java EE-based enterprise software appli ...
- python调用数据返回字典dict数据的现象1
python调用数据返回字典dict数据的现象1 思考: 可以看到这两种情况,区别在于构造函数make()里赋值给字典dict的方式不同.使用相同的调用方式,而结果却完全不同.可以看到第二种情况才是我 ...
- 联合索引在B+树上的结构
一级索引 二级联合索引 假设这是一个多列索引(col1, col2,col3),对于叶子节点,是这样的: PS:该图改自<MySQL索引背后的数据结构及算法原理>一文的配图. 也就是说, ...
- Luogu P3703 [SDOI2017]树点涂色
比较有趣的综合树上问题,刷LCT题单时做的但是发现后面LCT只是起了辅助作用233 首先我们分析每一个操作,\(1\)的定义就让我们联想到了access,我们回忆一下LCT的性质: LCT中每一个sp ...
- 来,看看MySQL 5.6, 5.7, 8.0的新特性
对于MySQL的历史,相信很多人早已耳熟能详,这里就不要赘述.下面仅从产品特性的角度梳理其发展过程中的里程碑事件. 1995年,MySQL 1.0发布,仅供内部使用. 1996年,MySQL 3.11 ...
- 字典 dict
# --------------------------我愿作一叶小舟,驶向远方.----------------------------------------------------------- ...
- windows安装Redis和客户端
一.Windows安装Redis 1.下载安装包Redis-x64-3.0.504.zip到本地 2.解压 3.打开CMD,切换到解压后的redis目录,然后 C:\Users\Administrat ...
- struts2之配置文件struts.xml详解
struts配置文件 struts.xml配置参数详解 struts.xml中很大一部分配置默认配置就好了 但是有些还是需要做了解 以便于理解 和修改 <?xml version=" ...