Number類
一般地,當(dāng)需要使用數(shù)字的時(shí)候,我們通常使用內(nèi)置數(shù)據(jù)類型,如:byte、int、long、double等。
然而,在實(shí)際開(kāi)發(fā)過(guò)程中,我們經(jīng)常會(huì)遇到需要使用對(duì)象,而不是內(nèi)置數(shù)據(jù)類型的情形。為了解決這個(gè)問(wèn)題,Java語(yǔ)言為每一個(gè)內(nèi)置數(shù)據(jù)類型提供了對(duì)應(yīng)的包裝類。
所有的包裝類(Integer、Long、Byte、Double、Float、Short)都是抽象類Number的子類。
這種由編譯器特別支持的包裝稱為裝箱,所以當(dāng)內(nèi)置數(shù)據(jù)類型被當(dāng)作對(duì)象使用的時(shí)候,編譯器會(huì)把內(nèi)置類型裝箱為包裝類。相似的,編譯器也可以把一個(gè)對(duì)象拆箱為內(nèi)置類型。Number類屬于java.lang包。
Number方法
1.xxxValue()
將number對(duì)象轉(zhuǎn)換為xxx數(shù)據(jù)類型的值并返回。
Integer intX = 100 ;
float f;
double d;
int i;
i = intX.intValue(); // intValue() 使用
i = intX.shortValue();
i = intX.byteValue();
f = intX.floatValue();
d = intX.doubleValue();
System.out.println("結(jié)果: " + i);
2.compareTo()
將number對(duì)象與參數(shù)比較。
Integer intX = 100 ;
int i = 100;
i = intX.compareTo(i);
System.out.println(i);
3.equals()
判斷number對(duì)象是否與參數(shù)相等。
Integer intX = 100 ;
int i = 100;
boolean b = intX.equals(i);
System.out.println(b);
小結(jié):compareTo()、equals()、==之間的區(qū)別
4.valueOf()
返回一個(gè) Number 對(duì)象指定的內(nèi)置數(shù)據(jù)類型
Integer intX = 100 ;
int i = 100;
String s = "100";
intX = intX.valueOf(i); //返回類型: Integer,將 int 類型轉(zhuǎn)換成 Integer
System.out.println(intX);
intX = intX.valueOf(s); //返回類型: Integer,將 String 類型轉(zhuǎn)換成 Integer
System.out.println(intX);
intX = intX.valueOf(s,5);
System.out.println(intX);
5.toString()
以字符串形式返回值。
Integer intX = 100 ;
String str = intX.toString();
System.out.println(str);
6.parseInt()
將字符串解析為int類型。
Integer intX = 100 ;
float f;
double d;
int i = 100;
i = Integer.parseInt("10");
System.out.println(i);
d = Double.parseDouble("12.12");
System.out.println(d);
f = Float.parseFloat("11.11");
System.out.println(f);
7.abs()
返回參數(shù)的絕對(duì)值。
double d = -12.1234234532;
d = Math.abs(d);
System.out.println(d);
8.ceil()
對(duì)整形變量向左取整,返回類型為double型。
double d = -12.1234234532;
d = Math.ceil(d); //忽略小數(shù)位,取整
System.out.println(d);
9.floor()
對(duì)整型變量向右取整。返回類型為double類型。
double d = -12.12342345320;
d = Math.floor(d); //小數(shù)位進(jìn)一位
System.out.println(d);
10.rint()
返回與參數(shù)最接近的整數(shù)。返回類型為double。
double d = -12.1234234532;
d = Math.rint(d); //對(duì)小數(shù)位進(jìn)行四舍五入System.out.println(d);
11.round()
返回一個(gè)最接近的int、long型值。
double d = -12.1234234532;
d = Math.round(d);
System.out.println(d);
12.min()
返回兩個(gè)參數(shù)中的最小值。
int i = Math.min(12,14);
System.out.println(i);
13.max()
返回兩個(gè)參數(shù)中的最大值。
int i = Math.max(12,14);
System.out.println(i);
14.random()
返回一個(gè)隨機(jī)數(shù)。
double d ;
d = Math.random();
System.out.println(d);