`

86.Math类的使用

 
阅读更多

在实际编程中,大量的数据运算是不可避免的。在Java类库中,已经实现了一个Math类,提供了大部分的数据运算方法。

 

Math类中定义了多个实现标准数学函数功能的基本方法,包括三角函数、指数运算、对数运算、平方根运算等。

 

Math类中的所有成员方法都是静态的(static),可以直接使用“类名.方法”的形式调用。事实上,Math类的构造方法被定义为private的,因而根本不允许在类的外部创建Math类的对象。另外,Math类是final的,不能被继承


Math类的常用属性和方法如下:


1 提供数据截断(truncation)操作功能


double ceil(double?a)
 功能:向上取整,返回不小于a的最小整数


double floor(double?a)
 功能:向下取整,返回不大于a的最大整数


int round(float?a) 或 public static long round(double?a)
 功能:四舍五入,返回a的近似整数值


2 取最大、最小及绝对值功能
max()
 功能:它接受两个数字类型的参数,返回两个数中较大的那个


min()
 功能:它接受两个数字类型的参数,返回两个数中较小的那个


abs()
 功能:接受一个数字类型数据,返回它的绝对值


3 三角函数功能

 

 

 

sin(), cos(), tan(), asin(), acos(), atan(), toDegrees(), toRadians():有关角度计算的方法,这些方法名和数学公式中的方法名一致。

 

 


4 对数及幂运算功能

 

 

 

double log(double?a)
 功能:返回参数a的自然对数。其中,a的值必须大于0.0

 

 


double exp(double?a)
 功能:返回e的a次幂


double pow(double?a,double?b)
 功能:返回a的b次幂


5 产生随机数功能

 

 

 

double random()
 功能:生成并返回一个[0.0,1.0]之间的随机数

 

 


6 数学常量
public static final double PI----圆周率,数值约为3.1415926


public static final double E----自然对数的底,数值约为2.718281828


下面我们来看一个Math类的使用例子。

public class TestMath{
 public static void main(String[] args){
  //得到一个随机数
  double d = Math.random();
  System.out.println(d);
  //计算半径为10的圆的周长
  double p = 2*Math.PI*10;
  System.out.println(p);
 } 
}


这个程序调用Math中的一个静态方法random()来生成一个随机数,它将返回一个0~1之间的double类型的数据。并且,利用这个Math类的静态常量PI,来计算一个半径为10的圆的周长。


运行这个程序,将向控制台打印出如下信息:
0.6635153168266983
62.83185307179586

分享到:
评论
2 楼 liuwei1981 2016-12-08  
尘土飞扬 写道
取整的函数,返回值是double?


测试下就能看出来,返回值是*.0格式的。
1 楼 尘土飞扬 2016-12-06  
取整的函数,返回值是double?

相关推荐

    python3.5-86.zip

    - **math和statistics模块**:增加了更多数学函数和统计方法,比如`math.isclose()`用于比较浮点数的近似相等,`statistics`模块则提供了基本的统计计算。 5. **标准库扩展**: - **pathlib模块**:提供了一套...

    JAVA程序员面试32问

    匿名内部类的主要用途是创建一个仅使用一次的简短类定义,通常是在实现监听器接口时使用。 #### 3. Static Nested Class 和 Inner Class 的区别 - **Inner Class**:非静态内部类(也称为成员内部类),它可以访问...

    LibreOffice-7.5.7-Linux-x86-64-deb.tar

    使用dpkg命令或APT(Advanced Package Tool)工具可以方便地安装、升级和卸载这类软件包。.deb包包含软件的二进制文件、依赖关系信息和其他资源。 6. **安装和管理**: 在Linux上,用户可以通过命令行或者图形界面...

    Project Euler_Eulerproject_fasmg_x86_windows_math_

    《使用汇编语言解决Project Euler问题的探索》 在IT领域,编程挑战是提升技能、锻炼思维的重要方式,其中Project Euler以其独特的数学与计算机科学相结合的特性,深受程序员喜爱。本项目聚焦于"Project Euler",它...

    java编程基础,应用与实例

    12.4 java.lang.Math类 172 12.5 java.Math.BigInteger类 174 12.6 java.Math.BigDecimal类 176 12.7 巩固练习 177 第13章 Java输入与输出(I/O) 179 13.1 File类 179 13.2 流(stream) 182 13.2.1 ...

    Advanced_Descriptors-2.2.6-cp36-cp36m-manylinux1_x86_64.whl.zip

    Descriptors是Python语言中的一种特性,它们是实现了`__get__`, `__set__`, 或 `__delete__`方法的类,这些方法控制了对象属性的访问。Advanced Descriptors则通常是指那些具有更复杂行为的Descriptors,例如可以...

    你必须知道的495个C语言问题(PDF)

    1.1 我如何决定使用那种整数类型? . . . . . . . . . . . . . . . . . . . 1 1.2 64 位机上的64 位类型是什么样的? . . . . . . . . . . . . . . . . 1 1.3 怎样定义和声明全局变量和函数最好? . . . . . . . . ....

    Advanced_Descriptors-1.0.5-cp34-cp34m-manylinux1_x86_64.whl.zip

    描述符是实现了`__get__`, `__set__`, 或 `__delete__`方法的对象,它们可以控制类属性的行为。 "cp34-cp34m"这部分是Python的兼容性标识,意味着这个软件包是为Python 3.4编译的,并且使用了"cp34m"的ABI(应用...

    LibreOffice-7.5.2-Linux-x86-64-deb.tar

    1. **Linux**: Linux是一种自由和开放源码的类UNIX操作系统内核,广泛用于服务器和桌面环境。Linux发行版如Ubuntu、Debian、Fedora等都使用这种操作系统。这个压缩包是为Linux用户设计的,特别是那些使用基于Debian...

    Web系统与技术 课程教材

    教育部高等学校计算机类专业教学指导委员会推荐教材 面向“工程教育认证”计算机系列课程规划教材 谢从华,高蕴梅,黄晓华.Web系统与技术[M],清华大学出版社,2018年6月 第1章 Web系统与技术的基础知识... 1 1.1 ...

    数学学科分类指南MathematicsSubjectClassication(MSC 2010)

    - 86-XX:地球科学 - 90-XX:运筹学、控制论和优化 - 91-XX:博弈论、经济学、社会和行为科学 - 92-XX:生物科学 - 93-XX:系统科学和控制论 - 94-XX:信息和通信,编码理论 - 97-XX:数学在其它科学中的应用 每一...

    d3d-sdk(x86版本)

    1. **Direct3D API**: 这是一个面向对象的API,提供了一系列的类和函数,用于创建和管理3D场景,包括几何形状、光照、纹理、渲染状态等。通过这些接口,开发者可以实现复杂的3D动画和视觉效果。 2. **硬件加速**: ...

    houidni18.532节点大全明细(分类列表版).pdf

    84. math - 数学节点,用于执行各种数学运算。 85. matnet - 材质网络节点,用于操作材质属性。 86. merge - 合并节点,用于合并多个数据流。 87. midiin - MIDI输入节点,用于处理MIDI输入数据。 88. (此处信息不...

    javaSE代码实例

    3.10 常用数学工具包——java.lang.Math类 39 3.10.1 数学常量 39 3.10.2 常用数学函数 40 3.11 小结 41 第4章 流程控制——Java世界的航行舵手 42 4.1 if条件语句 42 4.1.1 简略形式 42 4.1.2 完全...

    gamma函数Java代码实现.rar

    double[] coefficients = {76.18009173, -86.50532033, 24.01409822, -1.231739516, 0.120858003e-2, -0.536382e-5}; double StirlingError = 1.0 / (12 * x) - 1.0 / (360 * x * x * x) + 1.0 / (1260 * x * x * ...

    common_utils.zip

    Dart语言提供了强大的数学库`dart:math`,包含如平方根、随机数生成等功能。 6. **Widget辅助类**: Flutter的核心是Widget,它是构建UI的基本单元。`common_utils`库可能包含了一些辅助Widget,如自定义的布局、...

    LibreOffice_5.1(2)

    6. libreoffice5.1-math-5.1.3.2-2.x86_64.rpm:LibreOffice Math的安装包,用于创建和编辑数学公式和符号。 在Linux环境中安装这些RPM包,通常需要使用包管理器如yum或dnf,或者通过命令行工具rpm直接安装。安装...

    python-3.6.4 x86 可执行安装包 32位版本 .非常好用的哟

    5. **旧式类和新式类**:Python 2区分旧式类和新式类,而Python 3中所有类都是新式类,简化了面向对象编程。 在下载的压缩包"python-3.6.4 32bit.exe"中,包含了32位版本的Python 3.6.4可执行安装程序。安装此版本...

    SpringBoot整合poi实现Excel文件的导入和导出.pdf

    在SpringBoot项目中,我们...在处理数据时,使用`ExcelFormatUtil`工具类能有效地处理各种单元格数据格式,确保数据处理的准确性和一致性。同时,要注意文件上传的安全性,如检查文件类型和大小,以防止恶意文件上传。

Global site tag (gtag.js) - Google Analytics