十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
1.首先,八種基本數(shù)據(jù)類型分別是:int、short、float、double、long、boolean、byte、char;
它們的封裝類分別是:Integer、Short、Float、Double、Long、Boolean、Byte、Character。
2.Java中的數(shù)值都是有符號的,不存在無符號的數(shù),它們的取值范圍也是固定的,不會隨著硬件環(huán)境或者操作系統(tǒng)的改變而改變。
3.原始數(shù)據(jù)類型在傳遞參數(shù)時都是按值傳遞,封裝類都是按引用傳遞。
4.Java語言中,默認(rèn)聲明的小數(shù)是double類型的,因此對float類型的變量進(jìn)行初始化時需要進(jìn)行類型轉(zhuǎn)換。
float類型變量有兩種初始化方法:float f = 1.0f 或者 float f =(float) 1.0 。
5."=="和"equal()"方法:
1)基本型和基本型封裝型進(jìn)行“==”運(yùn)算符的比較,基本型封裝型將會自動拆箱變?yōu)榛拘秃笤龠M(jìn)行比較,因此Integer(0)會自動拆箱為int類型再進(jìn)行比較,顯然返回true。
2)兩個Integer類型進(jìn)行“==”比較,如果其值在-128至127,那么返回true,否則返回false, 這跟Integer.valueOf()的緩沖對象有關(guān),這里不進(jìn)行贅述。
3)兩個基本型的封裝型進(jìn)行equals()比較,首先equals()會比較類型,如果類型相同,則繼續(xù)比較值,如果值也相同,返回true。
4)基本型封裝類型調(diào)用equals(),但是參數(shù)是基本類型,這時候,先會進(jìn)行自動裝箱,基本型轉(zhuǎn)換為其封裝類型,再進(jìn)行3中的比較?! ?/p>
int i=0; Integer j=new Integer(0); System.out.println(i==j); System.out.println(j.equals(j)); double d=0.5; Double b=new Double(0.5); System.out.println(d==b); System.out.println(b.equals(d)); Integer aa=-100; Integer bb=-100; System.out.println(aa==bb); Integer aaa=129; Integer bbb=129; System.out.println(aaa==bbb);