java 中 Math类
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);
} }
java 中 Math类的更多相关文章
- Java中math类的常用函数
Java中math类的常用函数 在 Java 中 Math 类封装了常用的数学运算,提供了基本的数学操作,如指数.对数.平方根和三角函数等 只要在源文件的顶部加上下面这行代码就不必在数学方法名和常量名 ...
- java中Math类
Math类 Math类是一个很有用的数学帮助类,使用也非常简单,这个类比较特殊,首先他和String类一样都是用final修饰,所以不能有子类,还有就是它的构造方法是私有的,也就是我们不能通过new的 ...
- Java中Math类的几个四舍五入方法的区别
JAVA取整以及四舍五入 下面来介绍将小数值舍入为整数的几个方法:Math.ceil().Math.floor()和Math.round(). 这三个方法分别遵循下列舍入规则:Math.ceil()执 ...
- Java中Math类的常用方法
public class MathDemo { public static void main(String args[]){ /** * abs求绝对值 */ System.out.println( ...
- Java中ArrayList类详解
1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和ILis ...
- Java基础(四):Java Number & Math 类、Character 类、String 类、StringBuffer & StringBuilder 类
一.Java Number & Math 类: 1.Number类: 一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte.int.long.double 等.然而,在实际开发 ...
- Java-Runoob:Java Number & Math 类
ylbtech-Java-Runoob:Java Number & Math 类 1.返回顶部 1. Java Number & Math 类 一般地,当需要使用数字的时候,我们通常使 ...
- Java之Math类使用小结(转发)
Java的Math类封装了很多与数学有关的属性和方法,大致如下: public class Main { public static void main(String[] args) { // TOD ...
- java中大数类的学习
java中提供了大数类BigInteger和BigDecimal分别表示大整数类和大浮点数类,这两个类都在java.math.*包中,因此每次必须在开头处引用该包. 一.BigInteger构造函数: ...
随机推荐
- pg安装入门
1.下载源码安装包 [root@test2019030517 ~]# wget https://ftp.postgresql.org/pub/source/v10.5/postgresql-10.5. ...
- XSS高级利用
XSS会话劫持 (1)Cookie简介 Cookie是能够让网站服务器把少量文本数据存储到客户端的硬盘.内存,或者是从客户端的硬盘.内存读取数据的一种技术. Cookie是一段随HTTP请求.响应一起 ...
- luogu p1652 圆
题目部分 题目描述 给出N个圆,保证任意两个圆都相离,然后给出两个点(x1,y1).(x2,y2),保证均不在某个圆上,要从点(x1,y1)到(x2,y2)画条曲线,问这条曲线最少穿过多少次圆的边界? ...
- 快速搭建日志系统——ELK STACK
什么是ELK STACK ELK Stack是Elasticserach.Logstash.Kibana三种工具组合而成的一个日志解决方案.ELK可以将我们的系统日志.访问日志.运行日志.错误日志等进 ...
- GitHub Or Subversion
上一次转载了介绍GitHub的博文点我,我想对于初学GitHub的同学们还是有不清楚的地方,毕竟有些概念的理解比较费力.我觉得作为一个对于配置库技术已经有一定基础的同学们,要学习GitHub,最快以及 ...
- 跨域访问-需要设置HTTP响应标头
前提:服务端网站的配置(被请求的网站) 1.需要在IIS服务器站点的功能视图中设置HTTP响应标头: 2.双击“HTTP响应标头”进入设置界面 3.点击右侧添加按钮弹出窗口 4.填入需要设置的信息 名 ...
- Redis系列文章总结:ASP.Net Core 中如何借助CSRedis实现一个安全高效的分布式锁
引言:最近回头看了看开发的.Net Core 2.1项目的复盘总结,其中在多处用到Redis实现的分布式锁,虽然在OnResultExecuting方法中做了防止死锁的处理,但在某些场景下还是会发生死 ...
- SpringBoot集成Apache Shiro
笔者因为项目转型的原因,对Apache Shiro安全框架做了一点研究工作,故想写点东西以便将来查阅.之所以选择Shiro也是看了很多人的推荐,号称功能丰富强大,而且易于使用.实践下来的确如大多数人所 ...
- MySQL的log_bin和sql_log_bin 的区别
利用二进制还原数据库的时候,突然有点纠结,log_bin和sql_log_bin有什么区别呢?行吧,搜搜,结合自己的经验,简单说一下.log_bin:二进制日志. 在 mysql 启动时,通过命令行或 ...
- vuex状态管理工具
父子组件之间的通信 props传递 父 向子单向传递:且每次 父组件更新时 子组件的props会跟着更新: 如果需要 子组件把数据传递给父组件,就需要在子组件上绑定自定事件 在子组件使用this ...