java.lang.Math的几个常用方法 小结

在学习JavaSE中,java.lang.Math中的知识应该好好掌握。虽然在我们的平常应用中不是很多地应用到, 但是却代表了一种数学思想

最常用方法:

java.lang.Math:记住,所有方法都为静态方法,所以才有Math.方法名();

ceil(double a):该方法接收一个double型的参数,返回最小的double值,该值大于等于参数,并等于某个整数。这里要解释一下,为什么是最小的double值,却又要大于等于参数。ceil(double a)方法的作用是返回一系列大于等于参数的数值,也就是在这些返回数中取最小的。相当于一个集合,依次递增,取最小的值 ,但最小的值又大于等于标值。

例: double num = Math.ceil(2.56);

System.out.println(num);        // num = 3.0

floor(double a):返回最大的double值,该值小于等于参数,并等于某个整数。该方法的作用是将传入的参数进行截取,使生成的值小于或等于参数值。

例:

dobule num1 = Math.floor(2.56);

System.out.println(num1);        // num1 = 2.0;

也就是说,floor方法是将参数进行了小数截取后取整。

round(float a):返回最接近参数的int。结果将舍入为整数:加上 1/2,对结果调用 floor 并将所得结果强制转换为int类型。换句话说,结果等于以下表达式的值:

(int)Math.floor(a + 0.5f)

刚开始有些想不通,既然等价,为什么不直接使用floor方法,却要隐式地进行这样地转换。仔细一看,才发现有数值类型的变化。就比如:short s = 1; s +=1; 可以正常编译,而 s = s+1;就不能正确编译一样。原因在于s += 1;表达式进行了隐式地转换,等 同于:s = (short)(s+1)。所以,当有类型需求时,就应该注意round的使用。

例:

double a = 2.34;

int b = (int)Math.round(2.34);

System.out.println(b);    // a = 2

转载于:https://my.oschina.net/u/938966/blog/116254

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值