資源描述:
《02-03_包裝器類型與裝箱》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、Java程序設(shè)計(jì)第02-03講包裝器類型與裝箱劉海燕l(xiāng)iuhaiyan@edu2act.org知識回顧/本講先行知識?IS-A、HAS-A關(guān)系?Java中的多態(tài)性?引用變量的強(qiáng)制轉(zhuǎn)換?靜態(tài)成員河北師范大學(xué)軟件學(xué)院Java課程組本講教學(xué)目標(biāo)?掌握包裝器類?掌握自動裝箱?掌握關(guān)于方法裝箱、拆箱以及加寬的重載河北師范大學(xué)軟件學(xué)院Java課程組本講內(nèi)容?包裝器類?自動裝箱河北師范大學(xué)軟件學(xué)院Java課程組包裝器類概述?Java中每種基本類型都有包裝器類基本類型包裝器類構(gòu)造器參數(shù)booleanBooleanboolean,StringbyteBytebyte,StringcharCharacter
2、chardoubleDoubledouble,StringfloatFloatfloat,double,StringintIntegerint,StringlongLonglong,StringshortShortshort,String河北師范大學(xué)軟件學(xué)院Java課程組包裝器類作用?Java是一種面向?qū)ο笳Z言,對象本身可以攜帶更多的信息,使用包裝類(Wrapper)來打包(Wrap)基本數(shù)據(jù)類型可以讓基本數(shù)據(jù)類型能像對象一樣操作–為將基本值“包裝”到對象中提供了一種機(jī)制–為基本值提供分類功能河北師范大學(xué)軟件學(xué)院Java課程組創(chuàng)建包裝器類型對象?創(chuàng)建包裝器類對象方法–構(gòu)造方法–value
3、Of方法河北師范大學(xué)軟件學(xué)院Java課程組包裝器的構(gòu)造方法?包裝器(除Character)提供兩個構(gòu)造方法–Integeri1=newInteger(42);–Integeri2=newInteger(“42”);?Character只提供一個構(gòu)造方法–Characterc1=newCharacter(‘c’);?如果String參數(shù)不能解析為合適的基本類型,則會拋出NumberFormatException河北師范大學(xué)軟件學(xué)院Java課程組包裝器類的valueOf方法?多數(shù)包裝器類提供兩個靜態(tài)valueOf方法,用來創(chuàng)建包裝器類對象?兩個參數(shù)的valueOf方法–第一個參數(shù)是合適基本類
4、型的String表示–第二個參數(shù)指出第一個參數(shù)是以什么為基數(shù)(如二進(jìn)制、八進(jìn)制和十六進(jìn)制)–如:Integeri2=Integer.valueOf(“100011”,2);Floatf2=Float.valueOf(“3.14f”);河北師范大學(xué)軟件學(xué)院Java課程組包裝器的不變性?包裝器的不變性–包裝器對象是不變的,一旦賦值,其值就不能改變?如何將包裝器進(jìn)行轉(zhuǎn)換?–轉(zhuǎn)換成基本類型–轉(zhuǎn)換成字符串類型河北師范大學(xué)軟件學(xué)院Java課程組包裝器的轉(zhuǎn)換功能(一)?xxxValue()方法–需要把被包裝的數(shù)值轉(zhuǎn)換為基本類型時使用方法返回類型byteValue()bytedoubleValue()d
5、oublefloatValue()floatintValue()intlongValue()longshortValue()short河北師范大學(xué)軟件學(xué)院Java課程組包裝器的轉(zhuǎn)換功能(二)?parseXxx()方法–返回指定的基本類型–兩個參數(shù)的parseXxx()方法?第一個參數(shù)是合適基本類型的String表示?第二個參數(shù)指出第一個參數(shù)是以什么為基數(shù)(如二進(jìn)制、八進(jìn)制和十六進(jìn)制)–如:inti2=Integer.parseInt(“100011”,2);floatf2=Float.parseFloat(“3.14f”);河北師范大學(xué)軟件學(xué)院Java課程組包裝器的轉(zhuǎn)換功能(三)?toS
6、tring()方法–返回String類型的包裝在對象內(nèi)的基本類型值–如:Strings=newDouble(“3.14”).toString();?toXxxString()方法–Integer和Long包裝器允許把十進(jìn)制的數(shù)值轉(zhuǎn)換為其他進(jìn)制–如:Strings3=Integer.toHexString(245);–注:Hex:十六進(jìn)制,Octal:八進(jìn)制,Binary:二進(jìn)制河北師范大學(xué)軟件學(xué)院Java課程組本講內(nèi)容?包裝器類?自動裝箱河北師范大學(xué)軟件學(xué)院Java課程組自動裝箱?自動裝箱是Java5新特性–自動裝箱、自動拆箱、裝箱和拆箱Integery=newInteger(567);
7、intx=y.intValue();x++;y=newInteger(x);System.out.println(“y=”+y);Java5之后Java5之前Integery=newInteger(567);y++;System.out.println(“y=”+y);河北師范大學(xué)軟件學(xué)院Java課程組自動裝箱的示例Integery=567;Integerx=y;System.out.println(y==x);y++;intx2=