Java中的Math工具類用來完成除+、-、*、/、%等基本運算之外的複雜運算,位於java.lang包下,Math類的構造器全是私有的(private),所以沒法建立Math類的對象,Math類的方法全是類方法,能夠直接經過類名來調用它們。下面重點介紹Math類中常常用到的幾個方法,也是面試時常常被問到的知識點。java
一、round面試
round方法表示四捨五入。round意爲「環繞」,其原理是在原數字的基礎上先加上0.5再向下取整,它的返回值爲int類型,例如,Math.round(11.5)等於12(11.5+0.5後向下取整的結果),Math.round(-11.5)等於-11。工具
二、ceil對象
ceil方法的功能是向上取整。ceil意爲「天花板」,顧名思義就是對操做數取頂,Math.ceil(a)就是取大於a的最小整數。須要注意的是它的返回值不是int類型,而是double類型。若a是正數,則把小數「入」,若a是負數,則把小數「舍」。io
三、floortable
floor方法的功能是向下取整。floor意爲「地板」,顧名思義是對操做數取底。Math.floor(a),就會取小於a的最大整數。它的返回值類型與ceil意義,也是double類型。若a是正數,則把小數「舍」,若a是負數,則把小數「入」。基礎
上述三個與取整有關的方法(round、ceil、floor)的做用於它們的英文名字的含義相對應,也特別好記,下面是一個實例分析:原理
數字 | floor | round | ceil |
2.4 | 2.0 | 2 | 3.0 |
2.5 | 2.0 | 3 | 3.0 |
2.6 | 2.0 | 3 | 3.0 |
-2.4 | -3.0 | -2 | -2.0 |
-2.5 | -3.0 | -2 | -2.0 |
-2.6 | -3.0 | -3 | -1.0 |
上面程序運行結果爲:程序
Math.round(8.4)=8
Math.round(-8.4)=-8
Math.ceil(8.4)=9.0
Math.ceil(-8.4)=-8.0
Math.floor(8.4)=8.0
Math.floor(-8.4)=-9.0方法
常見筆試題:
Math.round(11.5)等於多少?Math.round(-11.5)等於多少?
答案:12,-11。見上面講解。