本節首先討論java.lang
包中的Number類,它的子類,以及使用這些類的實例化而不是原始數字類型的狀況。html
本節還介紹了PrintStream和DecimalFormat類,它們提供了編寫格式化數字輸出的方法。java
最後,討論了java.lang
中的Math類,它包含數學函數,以補充語言中內置的運算符,該類具備三角函數,指數函數等方法。segmentfault
使用數字時,大多數時候在代碼中使用基元類型,例如:api
int i = 500; float gpa = 3.65f; byte mask = 0xff;
可是,有理由使用對象代替基元,Java平臺爲每一個基元數據類型提供包裝類,這些類將基元「包裝」在對象中。一般,包裝由編譯器完成 — 若是在須要對象的地方使用基元,編譯器會在包裝器類中爲你封裝基元,相似地,若是在指望基元時使用數字對象,則編譯器會爲你拆箱對象,有關更多信息,請參閱自動裝箱和拆箱。多線程
全部數字包裝類都是抽象類Number
的子類:oracle
注意:這裏沒有討論其餘四個Number
的子類,BigDecimal
和BigInteger
用於高精度計算,AtomicInteger
和AtomicLong
用於多線程應用程序。
有三個緣由可使用Number
對象而不是基元:dom
MIN_VALUE
和MAX_VALUE
),它們提供數據類型的上限和下限。下表列出了Number
類的全部子類實現的實例方法。函數
方法 | 描述 |
---|---|
byte byteValue() short shortValue() int intValue() long longValue() float floatValue() double doubleValue() |
將此Number 對象的值轉換爲返回的基本數據類型。 |
int compareTo(Byte anotherByte) int compareTo(Double anotherDouble) int compareTo(Float anotherFloat) int compareTo(Integer anotherInteger) int compareTo(Long anotherLong) int compareTo(Short anotherShort) |
將此Number 對象與參數進行比較。 |
boolean equals(Object obj) |
肯定此數字對象是否等於參數。 若是參數不爲 null 而且是相同類型且具備相同數值的對象,則方法返回true 。Java API文檔中描述了 Double 和Float 對象的一些額外要求。 |
每一個Number
類都包含其餘方法,這些方法可用於數字與字符串之間的轉換和用於數字系統之間的轉換,下表列出了Integer
類中的這些方法,其餘Number
子類的方法相似:spa
方法 | 描述 |
---|---|
static Integer decode(String s) |
將字符串解碼爲整數,能夠接受十進制、八進制或十六進制數字的字符串表示做爲輸入。 |
static int parseInt(String s) |
返回一個整數(僅十進制) |
static int parseInt(String s, int radix) |
返回一個整數,給定十進制、二進制、八進制或十六進制(radix 分別等於十、二、8或16)數字的字符串表示做爲輸入。 |
String toString() |
返回表示此Integer 值的String 對象。 |
static String toString(int i) |
返回表示指定整數的String 對象。 |
static Integer valueOf(int i) |
返回包含指定基元值的Integer 對象。 |
static Integer valueOf(String s) |
返回一個包含指定字符串表示形式值的Integer 對象。 |
static Integer valueOf(String s, int radix) |
返回一個Integer 對象,該對象包含指定字符串表示形式的整數值,並使用radix 值進行解析。例如,若是 s = "333" 且radix = 8 ,則該方法返回等於八進制數333的十進制整數。 |
你可使用其中一個包裝類 — Byte
、Double
、Float
、Integer
、Long
或Short
— 來在對象中包裝許多基本類型,Java編譯器會在必要時自動爲你包裝(裝箱)基元,並在必要時再將它們拆箱。線程
Number
類包括常量和有用的類方法,MIN_VALUE
和MAX_VALUE
常量包含該類型對象可包含的最小值和最大值,byteValue
、shortValue
和相似方法將一種數字類型轉換爲另外一種數字類型,valueOf
方法將字符串轉換爲數字,toString
方法將數字轉換爲字符串。
要格式化包含輸出數字的字符串,可使用PrintStream
類中的printf()
或format()
方法,或者,你可使用NumberFormat
類使用模式自定義數字格式。
Math
類包含用於執行數學函數的各類類方法,包括指數、對數和三角函數方法,Math
還包括基本算術函數,例如絕對值和舍入,以及用於生成隨機數的方法random()
。