Math方法详细介绍

来源:互联网 发布:ios11pp助手更新软件 编辑:程序博客网 时间:2024/06/12 01:44

数学(Math)

Math类是Flash动画编程中使用较多的类,是顶级类。Math类中包含表示常用数学函数和值的方法及常量。Math类的所有属性和方法都是静态的,其中有8个常量:Math.PIMath.EMath.LN10Math.LN2Math.LOG10EMath.LOG2EMath.SQRT2,以及Math.SQRT1_2;除继承的公共方法外,还包括其他18个方法,如Math.abs()Math.sqrt()Math.random()Math.sin()Math.cos()Math.tan()等。Math类常与物理公式结合,模拟复杂的运动效果。

 Math方法和属性

使用Math类的方法和属性可以访问和处理数学函数和常数。Math类的所有方法和属性都是静态的,必须使用Math.method(parameter)Math.constant语法才能调用。在ActionScript中,使用双精度IEEE-754浮点数的最高精度定义常数。

在执行Math函数sincosasinacosatanatan2explogpowsqrt运算时,Flash Player将调用CPU(如果CPU不支持浮点计算,Flash Player将调用操作系统),由于CPU或操作系统所使用的算法不同,上述函数的计算结果会稍有不同。表4-1中列出了Math类的方法。

表1-1  Math类的方法

方  法

说  明

Math.abs(val:Number)

计算并返回由参数val指定的

数字的绝对值

Math.sqrt(val:Number)

计算并返回指定数字的平方根

Math.random()

返回一个伪随机数n,其中0≤n<1。

因为该计算不可避免地包含某些非

随机的成分,所以返回的数字以保密

方式计算且为伪随机数

Math.sin(angleRadians: Number)

以弧度为单位计算并返回指

定角度的正弦值

Math.cos(angleRadians: Number)

以弧度为单位计算并返回指

定角度的余弦值

Math.tan(angleRadians: Number)

计算并返回指定角度的正切值

Math.asin(val:Number)

以弧度为单位计算并返回由参数val指定

的数字的反正弦值

Math.acos(val:Number)

以弧度为单位计算并返回由参数val指

定的数字的反余弦值

Math.atan(val:Number)

以弧度为单位计算并返回角度值,该角度

的正切值已由参数val指定。返回值介

于-pi/2~pi/2之间

Math.atan2(y:Number, x:Number)

以弧度为单位计算并返回点y/x的角度

值,该角度从圆的x轴(0,0表示圆心)沿逆时

针方向测量。返回值介于+pi~-pi之间。

atan2的第一个参数始终是y坐标

Math.log(val:Number)

返回参数val的自然对数

Math.exp(val:Number)

返回自然对数的底(e)的x次幂的值,

x由参数val指定

Math.pow(val1:Number, 

val2:Number)

计算并返回val1的val2次幂

Math.max(val1:Number, 

val2:Number, ...)

计算val1和val2(或更多的值)并返回最大值

Math.min(val1:Number, 

val2:Number, ...)

计算val1和val2(或更多的值)并返回最小值

Math.round(val:Number)

将参数val的值四舍五入为最接近

整数并返回该值

Math.ceil(val:Number)

返回指定数字或表达式的上限值。数字

的上限值是大于等于该数字的最接近的整数

Math.floor(val:Number)

返回由参数val指定的数字或表达式的下

限值。下限值是小于等于指定数字

或表达式的最接近的整数


表1-2列出了Math类的常数。

表1-2  Math类的常数

常  数

说  明

Math.PI

代表一个圆的周长与其直径的比值的数学常数,

表示为pi,其近似值为3.141592653589793

Math.E

代表自然对数的底的数学常数,表示为e。e

的近似值为2.71828182845905


续表

常  数

说  明

Math.LN10

10的自然对数的数学常数,其近

似值为2.302585092994046

Math.LN2

2的自然对数的数学常数,其近

似值为0.6931471805599453

Math.LOG10E

常数e(Math.E)以10为底的对数的数学常数,

其近似值为0.4342944819032518

Math.LOG2E

常数e以2为底的对数的数学常数,

其近似值为1.442695040888963387

Math.SQRT2

代表2的平方根的数学常数,其近似

值为1.4142135623730951

Math.SQRT1_2

代表1/2的平方根的数学常数,其近似

值为0.7071067811865476

Math类的常用方法
封装了一些基本运算方法,包括进行三角运算的正弦、余弦、正切、余切相关的方法:例如,求正弦的sin,求余弦的cos等,如果使用的话可以参考JDK。
下面的方法可能是我们经常要使用的:
(1)求最大值,可以用于求int类型,long类型,float类型,double类型的最大值,下面仅仅下求整数最大值的方法的定义:
public static int max(int a,int b);
(2)求最小值,和求最大值基本相同。
public static int min(int a,int b);
(3)求绝对值,和求最大值的方法基本相同。
public static int abs(int a)
(4)四舍五入的方法
public static int round(float a)
public static long round(double d)
(5)计算幂
public static double pow(double a,double b)
(6)求下限值
public static double floor(double d)
(7)求上限值
public static double ceil(double d)
(8)求平方根
public static double sqrt(double d)
下面的例子包含了上面的8个方法:
double d1 = 5.7;
double d2 = 12.3;
double d3 = -5;
System.out.println(d1+"和"+d2+"的最大值为:"+Math.max(d1,d2));
System.out.println(d1+"和"+d2+"的最小值为:"+Math.min(d1,d2));
System.out.println(d3+"的绝对值为:"+Math.abs(d3));
System.out.println(d2+"四舍五入之后为:"+Math.round(d2));
System.out.println(d2+"的2次幂为:"+Math.pow(d2,2));
System.out.println(d2+"的下限为:"+Math.floor(d2));
System.out.println(d2+"的上限为:"+Math.ceil(d2));
System.out.println(d2+"的平方根为:"+Math.sqrt(d2));
运行结果为:
5.7和12.3的最大值为:12.3
5.7和12.3的最小值为:5.7
-5.0的绝对值为:5.0
12.3四舍五入之后为:12
12.3的2次幂为:151.29000000000002
12.3的下限为:12.0
12.3的上限为:13.0
12.3的平方根为:3.5071355833500366 (9)要获取一个随机数,如果是0到1之间的随机数,可以直接使用下面的方法:
public static double random();
如果希望得到某个范围的随机数,例如60到100,可以这样处理:
int min=60;
int max=100;
int random;
random = min + (int) ( (max - min) * (Math.random()));

0 0