JAVA 入坑教程 | 章节十 基本数学运算Math类
来源:互联网 发布:ubuntu 搜狗输入法 编辑:程序博客网 时间:2024/06/04 18:01
点击左上角【目录】
简单点,代码的方式简单点,装逼的方式请省略,我们又不是演员,别设计那些情节。
有问题可加入安卓QQ群: 246231638
在高数中总会运用到各种类型的计算,如正弦、余弦、正切、π、反正切、底数e的参数次方等等,那这些在计算机中如何表述?当然,可以用数值类型(如int、double、float)去模拟所有方法的实现,但是这样等同于解一个方程式的值,痛苦不堪,其实在Java中已经帮我们封装好了这些函数的调用,就是这个Math 类,先来看看其API有哪些方法可以给我们玩的。
API方法
来看下下面的API方法,为了方便查看我备注了中文说明。
相关函数的使用
※ . 可以看得出来,API还是挺强大的,我们想要的都有在里面。
来看下我总结的Math类 ↓
M类:Math 类
包名:Java.lang.Math
作用:包含的方法进行基本的数字操作,如基本的指数,对数,平方根、四舍五入、三角函数等等……
调用:Math 的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用
※ . 那如何使用?可以看到,它是个静态类,那么我们可以直接用类名点的方式调取它,先看个例子 ↓
public class TestIMMQY { public static void main (String []args) { System.out.println("测试Math类"); System.out.println("90 度的正弦值:" + Math.sin(Math.PI/2)); System.out.println("0度的余弦值:" + Math.cos(0)); System.out.println("60度的正切值:" + Math.tan(Math.PI/3)); System.out.println("1的反正切值: " + Math.atan(1)); System.out.println("π:"+Math.PI); System.out.println("π/2的角度值:" + Math.toDegrees(Math.PI/2)); System.out.println("两个之中的最大值"+Math.max(100.15,100.25)); } }
控制台输出结果:
测试Math类90 度的正弦值:1.00度的余弦值:1.060度的正切值:1.73205080756887671的反正切值: 0.7853981633974483π:3.141592653589793π/2的角度值:90.0两个之中的最大值100.25
随机函数
※ . 当然,有个函数是我们常常使用到的,那就是随机数,我们在API中可以看到,Random方法是产生随机数字,那么我们来测试下,这里我们用个for循环打印5次看看结果
for (int i = 0; i < 5; i++) { System.out.println("->"+Math.random()); }
控制台输出的结果:
->0.28416240369629464->0.7486394990609012->0.20984167308126322->0.37751025923559334->0.4962734671679535
可以看出,该方法返回的是一个无符号的double值,大于或等于0.0且小于1.0.
所以,我们只需要让它乘以100以后,转换成int类型,则会输出100以内的整数。
for (int i = 0; i < 5; i++) { System.out.println("->"+(int)(Math.random()*100)); }
控制台输出结果:
->27->3->3->25->87
取整函数
那除了随机数、高数用到的相关函数之外,取整函数也是比较常用的。
主要分为三大类:
- ceil
- floor
- round
- ceil,意思是天花板,java中叫做向上取整,大于等于该数字的最接近的整数
math.ceil(13.2)=14math.ceil(-13.2)=-13
- floor,意思是地板,java中叫做向下取整,小于等于该数字的最接近的整数
math.floor(13.2)=13math.floor(-13.2)=-14
- round,最特殊,其实就是四舍五入
math.round(13.2)=13;math.round(13.5)=14math.round(-13.2)=-13,math.round(-13.5)=-13
总结
Math类主要是辅助数字运算的一个类,与 StrictMath 类的某些数学方法不同,并非 Math 类所有等价函数的实现都定义为返回逐位相同的结果。此类在不需要严格重复的地方可以得到更好的执行,像我们初中常写的函数都是可以用得上的,如开方,三角函数之类,几乎都是可以用得上的,最后上一小段代码自己感受下。
Math.sqrt 求开方Math.pow 求某数的任意次方, 抛出ArithmeticException处理溢出异常Math.sqrt(x):平方根Math.pow(x,y):x的y次方//……java.math.BigInteger(大整数):BigInteger bi1=new BigInteger("1234567890123456890");BigInteger bi2=BigInteger.valueOf(123L);bi1=bi1.add(bi2);//b1+b2bi1=bi1.multiply(bi2);//b1*b2bi1=bi1.subtract(bi2);//b1-b2bi1=bi1.divide(bi2);// b1/b2java.math.BigDecimal(大浮点数):BigDecimal bd = new BigDecimal("3.1415926");bd = bd.setScale(2,BigDecimal.ROUND_DOWN);//取3.1415926小数点后面二位
如果前面的基础没看的可以点击 《JAVA 入坑教程系列》
|| 版权声明:本文为博主杜锦阳原创文章,转载请注明出处。
- JAVA 入坑教程 | 章节十 基本数学运算Math类
- JAVA 入坑教程 | 章节五 运算符合集
- JAVA 入坑教程 | 章节二 基本数据类型
- JAVA 入坑教程 | 章节八 什么是Number 类?
- JAVA 入坑教程 | 章节一 基础概念
- JAVA 入坑教程 | 章节三 变量类型
- JAVA 入坑教程 | 章节四 修饰符
- JAVA 入坑教程 | 章节六 循环结构体
- JAVA 入坑教程 | 章节七 条件分支结构
- Math:类包含用于执行基本数学运算的方法
- Java - 运算符 - 数学工具包java.lang.Math类
- Java - 运算符 - 数学工具包java.lang.Math类
- JAVA之Math类的数学运算应用详解
- JAVA之Math类常用数学运算记录
- JAVA 入坑教程 | 章节九 详解java的装箱和拆箱
- /* * Math:用于数学运算的类
- Java中的Math数学类
- Java基础教程7-基本数学运算
- node内存配置(--max-old-space-size)
- ctf-stego汇总
- js函数的参数声明中用var与不用var的区别
- Eclipse + ADT(包括NDK Plugin) + CDT 搭建Android NDK开发环境
- 题目1014:排名
- JAVA 入坑教程 | 章节十 基本数学运算Math类
- 在centos7配置jdk+hadoop环境
- Ubuntu 搜狗输入法不能输入中文解决
- 1
- Angular系列文章之angular路由
- C++ STL 中 map 容器的说明和使用技巧
- Android 代码中开启无线网络的配置页面
- SQL语句总结
- Android webview加载https网页时图片无法加载显示问题