`
liuwei1981
  • 浏览: 752639 次
  • 性别: Icon_minigender_1
  • 来自: 太原
博客专栏
F8258633-f7e0-30b8-bd3a-a0836a5f4de5
Java编程Step-by...
浏览量:156173
社区版块
存档分类
最新评论

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?

相关推荐

    Java 面试宝典

    10、使用 final 关键字修饰一个变量时,是引用不能变,还是引用的对象不能变? .................................................................................................................................

    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 ...

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

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

    Java常见面试题208道.docx

    156.使用 kafka 集群需要注意什么? 十六、Zookeeper 157.zookeeper 是什么? 158.zookeeper 都有哪些功能? 159.zookeeper 有几种部署模式? 160.zookeeper 怎么保证主从节点的状态同步? 161.集群中为什么要有主...

    Web系统与技术 课程教材

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

    史上最全java面试,103项重点知识,带目录

    13. 抽象类能使用 final 修饰吗? 6 14. 接口和抽象类有什么区别? 7 15. java 中 IO 流分为几种? 7 16. BIO、NIO、AIO 有什么区别? 7 17. Files的常用方法都有哪些? 8 二、容器 8 18. java 容器都有哪些? 8 19....

    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 完全...

    疯狂JAVA讲义

    9.3.3 Math类 327 9.3.4 Random类 328 9.3.5 BigDecimal类 330 9.4 处理日期的类 333 9.4.1 Date类 333 9.4.2 Calendar类 334 9.4.3 TimeZone类 337 9.5 正则表达式 338 9.5.1 创建正则表达式 338 9.5.2 ...

    Java基础知识点总结.docx

    <java.lang>Math 90 <java.lang>.Date:日期类,月份从0—11 92 <java.lang> Calendar:日历类 93 十六、 IO流:用于处理设备上数据 ★★★★★ 94 IO流的概念 95 字符流与字节流 98 流对象 101 File类 102 Java....

    飞机大战游戏

    if (Math.abs(gb.y) > (a.y) * 2 && Math.abs(gb.y) (a.y) * 2 + 150) { gb.E_max = 29; gb.E_vel = 11; gb.E_mov = 90; gb.E_hit = 91; g.drawString("第三关即将开始", a.x / 2 - a.x / 4, a.y /...

    ARCH4系统开发指南

    2.26.3 异常类的使用方法 67 2.26.3.1 ExceptionCause 67 2.26.3.2 BusinessException和PermissionException 67 2.26.3.3 DataVerifyException 68 2.26.3.4 ExceptionHelper 68 2.26.3.5 应用服务器异常 69 2.27 ...

    JAVA面试题最全集

    使用StringBuffer类与String类进行字符串连接时有何区别? 57.调用Thread类的destroy()方法有什么后果? 58.多线程,用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用? 59.使用socket建立客户端...

    《Java和Android开发实战详解》第2到5章源代码-by 南邮-陈杨

    第1章 编程语言与Java基础知识 1 1.1 编程语言基础知识 1 1.1.1 程序、软件与应用程序 1 1.1.2 编程语言的种类 2 1.1.3 低级语言 2 1.1.4 高级语言 3 ...5.5.2 Math类的数学常量和方法 92

    java 面试题 总结

    以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。 public class ThreadTest1{ private int j; public static void main(String args[]){ ThreadTest1 tt=new ThreadTest1(); Inc inc=tt.new Inc(); ...

    Java学习笔记-个人整理的

    {4.8}Collections集合工具类}{86}{section.4.8} {4.9}Comparable与Comparator}{86}{section.4.9} {4.9.1}Comparable}{86}{subsection.4.9.1} {4.9.2}Comparator}{87}{subsection.4.9.2} {4.10}包装类}{87}{...

    ActionScript开发技术大全

    12.2Math类 273 12.2.1角度与弧度 273 12.2.2Math常量 273 12.2.3最大值、最小值与绝对值 274 12.2.4数值舍入与随机函数 274 12.2.5幂运算与开方运算 275 12.2.6对数函数 276 12.2.7坐标与弧度 276 12.2.8三角函数 ...

    JAVA基础课程讲义

    Math类 131 File类 132 File类的基本用法 132 树状结构展现文件结构 133 枚举 133 上机作业 135 第七章 容器(Collection) 136 容器的作用和概览 136 容器中的接口层次结构 136 Collection接口 137 LIST接口 137 SET...

    java范例开发大全(pdf&源码)

    11.1 数学Math类 315 实例186 求圆周率∏值 315 实例187 求对数值 316 实例188 使用取整函数 317 11.2 Random类的使用 318 实例189 随机数 319 实例190 验证码 322 11.3 Date类和Calendar类 324 实例191 使用Date类...

Global site tag (gtag.js) - Google Analytics