黑马程序员技术交流社区

标题: java中的Math类 [打印本页]

作者: cain    时间: 2014-6-6 22:59
标题: java中的Math类
刚学完了Math,跟大伙分享一下
作者: cain    时间: 2014-6-6 23:00
java中的Math类
常用值与函数:
Math.PI 记录的圆周率
Math.E 记录e的常量
Math中还有一些类似的常量,都是一些工程数学常用量。
Math.abs 求绝对值
Math.sin 正弦函数 Math.asin 反正弦函数
Math.cos 余弦函数 Math.acos 反余弦函数
Math.tan 正切函数 Math.atan 反正切函数 Math.atan2 商的反正切函数
Math.toDegrees 弧度转化为角度 Math.toRadians 角度转化为弧度
Math.ceil 得到不小于某数的最大整数
Math.floor 得到不大于某数的最大整数
Math.IEEEremainder 求余
Math.max 求两数中最大
Math.min 求两数中最小
Math.sqrt 求开方
Math.pow 求某数的任意次方, 抛出ArithmeticException处理溢出异常
Math.exp 求e的任意次方
Math.log10 以10为底的对数
Math.log 自然对数
Math.rint 求距离某数最近的整数(可能比某数大,也可能比它小)
Math.round 同上,返回int型或者long型(上一个函数返回double型)
Math.random 返回0,1之间的一个随机数
用法实例:
double s=Math.sqrt(7);
double x=Math.pow(2,3) //计算2的3次方

java.math.BigInteger(大整数):
BigInteger bi1=new BigInteger("1234567890123456890");
BigInteger bi2=BigInteger.valueOf(123L);
bi1=bi1.add(bi2);//b1+b2
bi1=bi1.multiply(bi2);//b1*b2
bi1=bi1.subtract(bi2);//b1-b2
bi1=bi1.divide(bi2);// b1/b2
java.math.BigDecimal(大浮点数):
BigDecimal bd = new BigDecimal("3.1415926");
bd = bd.setScale(2,BigDecimal.ROUND_DOWN);//取3.1415926小数点后面二位



public class MathDemo {  
    public static void main(String args[]){  
        /**
         * abs求绝对值
         */  
        System.out.println(Math.abs(-10.4));    //10.4  
        System.out.println(Math.abs(10.1));     //10.1  
         
        /**
         * ceil天花板的意思,就是返回大的值,注意一些特殊值
         */  
        System.out.println(Math.ceil(-10.1));   //-10.0  
        System.out.println(Math.ceil(10.7));    //11.0  
        System.out.println(Math.ceil(-0.7));    //-0.0  
        System.out.println(Math.ceil(0.0));     //0.0  
        System.out.println(Math.ceil(-0.0));    //-0.0  
         
        /**
         * floor地板的意思,就是返回小的值
         */  
        System.out.println(Math.floor(-10.1));  //-11.0  
        System.out.println(Math.floor(10.7));   //10.0  
        System.out.println(Math.floor(-0.7));   //-1.0  
        System.out.println(Math.floor(0.0));    //0.0  
        System.out.println(Math.floor(-0.0));   //-0.0  
         
        /**
         * max 两个中返回大的值,min和它相反,就不举例了
         */  
        System.out.println(Math.max(-10.1, -10));   //-10.0  
        System.out.println(Math.max(10.7, 10));     //10.7  
        System.out.println(Math.max(0.0, -0.0));    //0.0  
         
        /**
         * random 取得一个大于或者等于0.0小于不等于1.0的随机数
         */  
        System.out.println(Math.random());  //0.08417657924317234  
        System.out.println(Math.random());  //0.43527904004403717  
         
        /**
         * rint 四舍五入,返回double值
         * 注意.5的时候会取偶数
         */  
        System.out.println(Math.rint(10.1));    //10.0  
        System.out.println(Math.rint(10.7));    //11.0  
        System.out.println(Math.rint(11.5));    //12.0  
        System.out.println(Math.rint(10.5));    //10.0  
        System.out.println(Math.rint(10.51));   //11.0  
        System.out.println(Math.rint(-10.5));   //-10.0  
        System.out.println(Math.rint(-11.5));   //-12.0  
        System.out.println(Math.rint(-10.51));  //-11.0  
        System.out.println(Math.rint(-10.6));   //-11.0  
        System.out.println(Math.rint(-10.2));   //-10.0  
         
        /**
         * round 四舍五入,float时返回int值,double时返回long值
         */  
        System.out.println(Math.round(10.1));   //10  
        System.out.println(Math.round(10.7));   //11  
        System.out.println(Math.round(10.5));   //11  
        System.out.println(Math.round(10.51));  //11  
        System.out.println(Math.round(-10.5));  //-10  
        System.out.println(Math.round(-10.51)); //-11  
        System.out.println(Math.round(-10.6));  //-11  
        System.out.println(Math.round(-10.2));  //-10  
    }  
}  


作者: 呀嘛咕    时间: 2014-6-6 23:10
额~~~~~~~~~~~~~~~~~~~~~~~
作者: 18353666072    时间: 2014-6-6 23:14
赞一个,大神呐~
作者: 四顾行者    时间: 2014-6-6 23:16
复习复习也好
作者: 江祖贇    时间: 2014-6-6 23:35
小伙子  很认真啊:victory:          学习啦
作者: See_the_sun    时间: 2014-6-6 23:59
貌似是同期的同学啊。。我今天也是学这玩意了。。Math中就注意了这几个函数cile。处理分页的时候会用到。
BigInteger  BigDecimal 都是大数据处理,两者区别
BigInteger 整数
BigDecimal 浮点
还有注意下里面的.divide就可以了。其他加减乘除都没什么,和平常用的一样
作者: 尹稳定    时间: 2014-6-7 01:05
这代码太美我不敢看~
作者: 阿苏勒    时间: 2014-6-7 03:55
好认真啊
作者: 285619273    时间: 2014-6-7 06:34
一起共勉吧!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2