Math类

Math类包含用于执行基本的数字运算等基本指数、对数、平方根法、三角函数。

import java.lang.*;

public class TestMath {
public static void main(String[] args) { System.out.println(Math.E);//比任何其他值都更接近 e(即自然对数的底数)的 double 值。
System.out.println(Math.PI);//比任何其他值都更接近 pi(即圆的周长与直径之比)的 double 值 /*
* 2.三角函数与反三角函数
* cos求余弦
* sin求正弦
* tan求正切
* acos求反余弦
* asin求反正弦
* atan求反正切
* atan2(y,x)求向量(x,y)与x轴夹角
*/
System.out.println(Math.acos(-1.0));//输出圆周率3.14...
System.out.println(Math.atan2(1.0, 1.0));//输出 π/4 的小数值 System.out.println(Math.abs(-2.0)); //绝对值 2.0 System.out.println(Math.sqrt(64.0)); //平方根 8.0
System.out.println(Math.cbrt(8.0));//立方根 2.0
System.out.println(Math.hypot(3.0, 4.0));//输出5.0 计算 (x的平方+y的平方)的平方根 System.out.println(Math.max(56,78)); //两者之间较大的 78
System.out.println(Math.min(56,78)); //两者之间较小的 56 /* random()返回[0.0,1.0)之间的double值
* 这个产生的随机数其实可以通过*x控制
* 比如(int)(random*100)后可以得到[0,100)之间的整数
*/
System.out.println(Math.random()); //随机数 0.005977951477849186
System.out.println((int)(Math.random()*100));//[0,100)间的随机数 /*
* 对数
* log(a) a的自然对数(底数是e) 数学里的ln(a)
* log10(a) a 的底数为10的对数
* log1p(a) a+1的自然对数
* 值得注意的是,前面其他函数都有重载,对数运算的函数只能传double型数据并返回double型数据
*/
System.out.println(Math.log(Math.E));//输出1.0
System.out.println(Math.log10(10));//输出1.0
System.out.println(Math.log1p(Math.E-1.0));//输出1.0 /*
* 幂
* exp(x) 返回e^x的值
* expm1(x) 返回e^x - 1的值
* pow(x,y) 返回x^y的值
* 这里可用的数据类型也只有double型
*/
System.out.println(Math.exp(2));//输出e^2的值
System.out.println(Math.pow(2.0, 3.0));//输出8.0 //ceil(a) 返回大于a的第一个整数所对应的浮点数(值是整的,类型是浮点型)
System.out.println(Math.ceil(18.36)); //向上取整 19
//floor(a) 返回小于a的第一个整数所对应的浮点数(值是整的,类型是浮点型)
System.out.println(Math.floor(18.66)); //向下取整 18
System.out.println(Math.round(11.5)); //四舍五入 12
System.out.println(Math.round(-11.5)); //四舍五入 -11 //rint(a) 返回最接近a的整数的double值
System.out.println(Math.rint(1.2));//输出1.0
System.out.println(Math.rint(1.8));//输出2.0 /*
* 转换
* toDegrees(a) 弧度换角度
* toRadians(a) 角度换弧度
*/
System.out.println(Math.toDegrees(Math.PI));//输出180.0
System.out.println(Math.toRadians(180));//输出 π 的值 //copySign(x,y) 返回 用y的符号取代x的符号后新的x值
System.out.println(Math.copySign(-1.0, 2.0));//输出1.0
System.out.println(Math.copySign(2.0, -1.0));//输出-2.0 //nextAfter(a,b) 返回(a,b)或(b,a)间与a相邻的浮点数 b可以比a小
System.out.println(Math.nextAfter(1.2, 2.7));//输出1.2000000000000002
System.out.println(Math.nextAfter(1.2, -1));//输出1.1999999999999997
//所以这里的b是控制条件 //nextUp(a) 返回比a大一点点的浮点数
System.out.println(Math.nextUp(1.2));//输出1.2000000000000002 //nextDown(a) 返回比a小一点点的浮点数
System.out.println(Math.nextDown(1.2));//输出1.1999999999999997 }
}

注意:

Math的源码的构造方法如下:

也就是说它不能创建对象,可以这样理解

在面向对象中,类是抽象的而对象是具体的,数学本身也是抽象的而没法具体,所以这里只有一个数学类而不能实例化对象。

结尾:

Math的入门学习就这些吧,今后有更深的理解再来补充~~~

Math类入门学习的更多相关文章

  1. System类入门学习

    System类 System类代表系统,系统级的很多属性和控制方法都放置在该类的内部.该类位于java.lang包.其包含一些有用的字段和方法,不能被实例化 system中包含了in.out和err三 ...

  2. Java—System类入门学习

    第三阶段 JAVA常见对象的学习 System类 System类包含一些有用的字段和方法,他不能被实例化 //用于垃圾回收 public static void gc() //终止正在运行的java虚 ...

  3. Integer类入门学习

    Integer类 它是一个类,是 int 基本数据类型的封装类. 基本API Integer 类和 int 的区别 Integer 是 int 包装类,int 是八大基本数据类型之一(byte,sho ...

  4. Math类的学习 java 类库 API 文档学习

  5. Java学习笔记(5)--- Number类和Math 类,String类的应用,Java数组入门

    1.Number 和 Math 类: 在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型(int,double,float这些)的情形. 这种由编译器特别支持的包装称为装箱,所以当内置数 ...

  6. python入门学习:8.类

    python入门学习:8.类 关键点:类 8.1 创建和使用类8.2 使用类和实例8.3 继承8.4 导入类 8.1 创建和使用类   面向对象编程是最有效的软件编写方法之一.在面向对象编程中,你编写 ...

  7. String类、static关键字、Arrays类、 Math类的一些学习心得

    String类 java.lang.String 类代表字符串.Java程序中所有的字符串文字(例如"abc" )都可以被看作是实现此类的实例. 类 String 中包括用于检查各 ...

  8. 第15.10节 PyQt(Python+Qt)入门学习:Qt Designer可视化设计界面组件与QWidget类相关的组件属性详解

    PyQt学习有阵子了,对章节的骨架基本考虑好了,准备本节就写组件的属性的,结果一是日常工作繁忙,经常晚上还要加班,二是Qt的组件属性很多,只能逐一学习.研究和整理,花的时间有点长,不过终于将可视化设计 ...

  9. Java学习笔记-Math类

    并非所有的类都需要main方法.Math类和JOptionPane类都没有main方法.这些类中所包含的方法主要是为了供其他类使用. package welcome; public class Tes ...

随机推荐

  1. HDU_1005:Number Sequence

    Problem Description A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1 ...

  2. iOS打包上传ipa文件时,报错<ERROR ITMS-90096: "Your binary is not optimized for iPhone 5 - New iPhone apps......>的解决方案

    很长一段时间习惯了用企业级证书发布,最近的新项目使用Xcode 9.1发布到AppStore时遇到了一个小问题(emm..其实问题跟Xcode版本没关系,我也不知道为什么要声明这个233),如下: E ...

  3. POJ-3159_Candies

    Candies Time Limit: 1500MS Memory Limit: 131072K Description During the kindergarten days, flymouse ...

  4. PHP5.2 汉字json_encode

    //对汉字编码 private function url_encode($str) { if(is_array($str)) { foreach($str as $key=>$value) { ...

  5. Mysql查询某个月的每一天的数据

    需求:查询最近三个月的每一天的业绩总和 因为最近三个月每个月的天数是不一样,所以不能用这篇文章:Mysql查询最近30天的数据(每天的业绩总和数据) 介绍的用固定多少天去查数据.需要一个新方法. 一. ...

  6. saltStack_template

    模版使用 新建文件:vim dns.sls   vim file/resolv.conf   执行 : [root@server_client base]# salt \* state.sls dns ...

  7. phpstorm 中背景色的调整

  8. 读取hive的表结构,生成带comment的视图建表语句

    ### 读取hive的表结构,生成带comment的视图建表语句 # 读取配置文件中的表并进行遍历 grep -v '^#' tablesFile|while read tableName do st ...

  9. POJ2752 Seek the Name, Seek the Fame 题解 KMP算法

    题目链接:http://poj.org/problem?id=2752 题目大意:给你一个字符串 \(S\) ,如果它的一个前缀同时也是它的后缀,则输出这个前缀(后缀)的长度. 题目分析:next函数 ...

  10. LuaForWindows_v5.1.4-45和lua-5.1.4.tar.gz

    Lua学习笔记(一) 安装调试环境 Lua学习笔记(一) 安装调试环境     觉得自己是该掌握一门脚本语言的时候了,虽然曾经用过C# 和JavaScript 写过Unity3D的脚本.但是,总觉得那 ...