




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Java基礎(chǔ)培訓(xùn)教程老虎工作室 沈伯青 編著人民郵電出版社第二章 運(yùn)運(yùn)行環(huán)境境安裝與與測(cè)試P5 JJavaa不進(jìn)提提供了一一個(gè)運(yùn)行行環(huán)境,而而且還提提供了一一個(gè)免費(fèi)費(fèi)的Jaava軟軟件開(kāi)發(fā)發(fā)工具集集JSDDK(JJavaa Sooftwwaree Deevellopmmentt Kiit),有有了這個(gè)個(gè)工具集集就可以以在Jaava標(biāo)標(biāo)準(zhǔn)平臺(tái)臺(tái)(J22SE)上上進(jìn)行JJavaa代碼程程序的開(kāi)開(kāi)發(fā)。JJSDKK最初被被成為JJavaa Deevellopmmentt Kiit(JJDK),最最開(kāi)始發(fā)發(fā)行的版版本是11.1,后后來(lái)隨著著Javva的發(fā)發(fā)展,JJSDKK 的版版本逐漸漸增加,有有了1.
2、2版本本、1.3版本本等,目目前已經(jīng)經(jīng)升級(jí)到到1.44版本。在在Javva中,統(tǒng)統(tǒng)一稱11.2版版本或更更高的版版本為JJavaa 2。JJSDKK包括生生成Jaava中中最基本本的小應(yīng)應(yīng)用程序序和應(yīng)用用程序所所需要的的所有工工具和標(biāo)標(biāo)準(zhǔn)Jaava類類庫(kù)。Java平平臺(tái)分為為三種,他他包括JJavaa標(biāo)準(zhǔn)平平臺(tái)(JJ2SEE,Jaava 2 PPlattforrm SStanndarrd EEdittionn)、JJavaa企業(yè)級(jí)級(jí)平臺(tái)(JJ2EEE,Jaava 2 PPlattforrm EEnteerprrisee Edditiion)和和Javva小型型平臺(tái)(JJ2MEE,Jaava 2
3、 PPlattforrm MMicrro EEdittionn),其其中J22EE和和J2MME平臺(tái)臺(tái)上的應(yīng)應(yīng)用實(shí)現(xiàn)現(xiàn)都是要要建立在在J2SSE平臺(tái)臺(tái)基礎(chǔ)之之上的。P9 現(xiàn)現(xiàn)已將JJSDKK安裝在在“D:JJSDKK14”目錄下下,可以以根據(jù)路路徑找到到該目錄錄并查看看該目錄錄中的內(nèi)內(nèi)容,如如圖2-9所示示??梢钥吹侥磕夸浵掠杏?個(gè)子子目錄分分別是“binn、deemo、iinclludee、jrre、llib”,以及及5個(gè)文文件。對(duì)對(duì)于初學(xué)學(xué)者來(lái)說(shuō)說(shuō),需要要注意的的是“binn”目錄和和“l(fā)ibb”目錄下下的內(nèi)容容。雙擊“biin”目錄,發(fā)發(fā)現(xiàn)有223個(gè)后后綴名為為“.exxe”的實(shí)用用程序
4、。這這些都是是開(kāi)發(fā)工工具庫(kù)所所自帶的的工具。對(duì)對(duì)于初學(xué)學(xué)者來(lái)說(shuō)說(shuō)血藥了了解和掌掌握的是是8個(gè)工工具,見(jiàn)見(jiàn)表2-1。其其中讀者者能夠很很快遇到到并需要要掌握的的工具是是:Jaavacc、Jaava、AApplletvviewwer、JJavaadocc,其次次是Jaar,然然后是JJdb、JJavaap、JJavaah。對(duì)對(duì)于剩下下的155個(gè)工具具,讀者者可以查查詢相關(guān)關(guān)的幫助助文件。表2-1 JJSDKK的8種種主要工工具名稱解釋JavaccJava編編譯器,將將Javva源文文件代碼碼轉(zhuǎn)換成成Javva字節(jié)節(jié)代碼,編編譯后綴綴名為“.jaava”的根文文件,生生成一個(gè)個(gè)新的后后綴名為為“.c
5、llasss”的類文文件,其其文件名名和根文文件的文文件名相相同JavaJava編編譯器,用用來(lái)執(zhí)行行生成的的后綴名名為“.cllasss”的類文文件,即即執(zhí)行JJavaa應(yīng)用程程序自己己代碼Appleetviieweer小應(yīng)用程序序的Jaava瀏瀏覽器,主主要是執(zhí)執(zhí)行后綴綴名為“.httml”或者是是“.httm”的文件件,這些些文件的的內(nèi)容嵌嵌套著JJavaa小應(yīng)用用程序類類JavaddocJava說(shuō)說(shuō)明工具具,根據(jù)據(jù)Javva源代代碼及其其說(shuō)明語(yǔ)語(yǔ)句生成成相關(guān)的的HTMML文檔檔,編程程者可以以很方便便的通過(guò)過(guò)HTMML文檔檔來(lái)了解解Javva源代代碼的功功能、方方法及其其繼承關(guān)關(guān)系Jd
6、bJava調(diào)調(diào)試器,可可以逐行行執(zhí)行程程序、設(shè)設(shè)置斷點(diǎn)點(diǎn)和檢查查變量JavappJava反反匯編器器,顯示示編譯類類文件中中可訪問(wèn)問(wèn)功能和和數(shù)據(jù),同同時(shí)顯示示字節(jié)代代碼的含含義JarJava檔檔案文件件生成器器,用它它可以生生成的后后綴名為為“.jaar”文件,JJAR文文件可以以在一個(gè)個(gè)壓縮文文件中發(fā)發(fā)布多個(gè)個(gè)Javva類和和資源,這這個(gè)資源源可以包包括喲GGIF圖圖片資源源、HTTML文文檔資源源等Javabb頭文件生成成器,產(chǎn)產(chǎn)生可以以調(diào)用的的Javva過(guò)程程的C過(guò)過(guò)程,也也可以建建立能被被Javva程序序調(diào)用的的C過(guò)程程的文件件頭P10 = 1 * GB3雖然已已經(jīng)安裝裝了JSSDK,
7、也也同時(shí)安安裝好了了Javva運(yùn)行行環(huán)境,但但是Jaava語(yǔ)語(yǔ)言是跨跨平臺(tái)的的,無(wú)論論在什么么平臺(tái)或或者操作作系統(tǒng)下下的文本本編輯器器里都可可以編寫寫“.jaava”代碼,最最終都要要經(jīng)過(guò)JJavaac編譯譯器將源源代碼轉(zhuǎn)轉(zhuǎn)換成與與平臺(tái)無(wú)無(wú)關(guān)的“.cllasss”字節(jié)代代碼,這這是Jaava語(yǔ)語(yǔ)言編程程的一個(gè)個(gè)重要特特性,也也是其體體現(xiàn)出跨跨平臺(tái)優(yōu)優(yōu)越性的的保證。= 2 * GB3本書中對(duì)對(duì)“.jaava”代碼的的Javvac編編譯器所所執(zhí)行的的操作也也是在WWinddowss操作系系統(tǒng)中的的【命令令提示符符】窗口口下進(jìn)行行的?!久钐崾臼痉看按翱谙轮恢荒軋?zhí)行行缺省的的DOSS命令,如如c
8、d、ddir、ccleaar等,如如果要執(zhí)執(zhí)行Jaavacc、Jaava、JJavaadocc等命令令,則需需要進(jìn)行行額外的的環(huán)境變變量的設(shè)設(shè)置。表2-2 本本書常用用的基本本DOSS命令名稱解釋DirDOS查詢?cè)兠睿糜脕?lái)查詢?cè)兯谀磕夸浀木呔唧w文件件信息等等cd用來(lái)進(jìn)入某某一個(gè)文文件夾,其其中“”表示文文件夾名名稱,“cd”和文件件夾名稱稱之間有有一個(gè)空空格cd.退出當(dāng)前文文件夾目目錄進(jìn)入入上一級(jí)級(jí)目錄,其其中“”表示當(dāng)當(dāng)前所在在的文件件夾名稱稱%:&轉(zhuǎn)換盤符操操作,從從“%”盤符轉(zhuǎn)轉(zhuǎn)入到“&”盤符,其其中“%”“&”均為盤盤符,它它們一般般代表“C,DD,E”例如如“C:D”表示從從C
9、盤轉(zhuǎn)轉(zhuǎn)到D盤盤P11設(shè)置置Patth變量量:首先打開(kāi)我我的電腦腦右鍵屬屬性高級(jí)級(jí)選項(xiàng)卡卡中的環(huán)環(huán)境變量量,找到到系統(tǒng)變變量分組組框中的的“Patth”系統(tǒng)變變量,保保持變量量名的“Patth”不變,在在變量值值的文本本編輯框框內(nèi)的末末尾添加加“;D:JSSDK114bbin”的字樣樣,這樣樣就可以以在命令令提示符符窗口中中執(zhí)行JJavaac、JJavaa、Jaavaddoc等等命令了了。提示:這里里假設(shè)JJSDKK已經(jīng)安安裝在DD盤的JJSDKK14目目錄下,將將“binn”目錄添添加到系系統(tǒng)變量量“Patth”中,確確保了“binn”目錄下下的可執(zhí)執(zhí)行文件件可以在在命令提提示符窗窗口下運(yùn)運(yùn)行
10、。只設(shè)置了PPathh環(huán)境變變量對(duì)運(yùn)運(yùn)行所有有可執(zhí)行行文件還還是不夠夠的,因因?yàn)樵凇?jaava”代碼中中,還可可能引用用JSDDK缺省省的幾個(gè)個(gè)Javva類包包,否則則用“Javvac編編譯器”無(wú)法將將代碼成成功編譯譯而生成成“.cllasss”類文件件,所以以Javva還要要利用另另一個(gè)環(huán)環(huán)境變量量CLLASSSPATTH。P12 添添加CLLASSSPATTH環(huán)境境變量:Java運(yùn)運(yùn)行環(huán)境境從“CLAASSPPATHH”環(huán)境變變量中尋尋找到要要執(zhí)行的的Javva了。如如果設(shè)置置不當(dāng),則則可能遇遇到各種種因?yàn)檎艺也坏街钢付ǖ念愵惗鹌鸬母鞣N種錯(cuò)誤。在環(huán)境變量量對(duì)話框框中單機(jī)機(jī)系統(tǒng)變變量分
11、組組框的新新建按鈕鈕,新建建變量名名為“CLAASSPPATHH”變量值值為“.;DD:JJSDKK14libbdtt.jaar;DD:JJSDKK14libbtooolss.jaar”的系統(tǒng)統(tǒng)變量。這這里需要要注意的的是變量量值中最最前面的的兩個(gè)符符號(hào):一一個(gè)點(diǎn)號(hào)號(hào)“.”和一個(gè)個(gè)分號(hào)“;”不能漏漏掉。P13 環(huán)環(huán)境測(cè)試試:在命令提示示符中輸輸入java verrsioon可以判定JJSDKK 版本本、jaava運(yùn)運(yùn)行環(huán)境境版本等等。除此此之外,還還可以輸輸入以下下命令:java hjar hjavaddoc hjavacc h來(lái)查詢執(zhí)行行程序的的相關(guān)參參數(shù)使用用方法。P14程序序測(cè)試:新建文
12、本文文檔輸入入以下程程序,publiic cclasss ttesttHelllo puubliic sstattic voiid mmainn(Sttrinng aarg) Syysteem.oout.priintlln(Helllo,這是一一個(gè)測(cè)試試!);/中文狀狀態(tài)下輸輸入的分分號(hào) /maain()/*teestHHelllo */將文件命名名為“tesstHeelloo.jaava”。保存存位置是是“E:proograam002ttesttHelllo.javva”。文件保存成成功之后后,在命命令提示示符窗口口中進(jìn)入入到“E:proograam002”目錄。輸輸入的命命令那個(gè)個(gè)依次為為
13、:E:cd prrogrramcd 022這樣就進(jìn)入入了“E:proograam002”目錄,在在次目錄錄下依次次輸入如如下命令令:dirjavacc teestHHelllo.jjavaajava tesstHeelloodir這時(shí)會(huì)發(fā)現(xiàn)現(xiàn)目錄下下多了一一個(gè)“tesstHeelloo.cllasss”文件,這這是Jaavacc編譯器器將源代代碼編譯譯成字節(jié)節(jié)代碼生生成類文文件的結(jié)結(jié)果。顯顯示輸出出的“Helllo,這這是一個(gè)個(gè)測(cè)試!”是Jaava編編譯器直直接執(zhí)行行Javva應(yīng)用用程序字字節(jié)代碼碼的結(jié)果果。P16 JJavaa應(yīng)用程程序流程程:一個(gè)Javva應(yīng)用用程序首首先是經(jīng)經(jīng)過(guò)文本本編輯
14、器器的編輯輯工作得得到Jaava源源代碼,源源代碼經(jīng)經(jīng)過(guò)Jaavacc編譯器器編譯之之后產(chǎn)生生Javva類文文件,再再經(jīng)Jaava編編譯器編編譯執(zhí)行行得到輸輸出程序序。其中中Javvadooc執(zhí)行行程序可可以對(duì)JJavaac源代代碼進(jìn)行行操作,生生成關(guān)于于Javvac源源代碼的的說(shuō)明文文檔,這這種文檔檔是以HHTMLL格式輸輸出的;另外JJavaap執(zhí)行行程序可可以對(duì)JJavaa類文件件進(jìn)行操操作,得得到的是是對(duì)Jaava類類文件反反編譯的的結(jié)果,同同時(shí)也看看到Jaava源源代碼的的方法分分布情況況。P17 建建檔應(yīng)用用程序JJavaadocc:Javaddoc是是建檔應(yīng)應(yīng)用程序序。它將將能源
15、代代碼自動(dòng)動(dòng)建檔,這這樣做的的好處是是在源代代碼進(jìn)行行一定格格式的說(shuō)說(shuō)明之后后,可以以將這些些說(shuō)明自自動(dòng)傳輸輸?shù)紿TTML文文件中,是是開(kāi)發(fā)者者直接從從生成的的Javvadooc文檔檔中查找找到相關(guān)關(guān)類一集集相關(guān)類類的方法法、屬性性變量。代代碼程序序中的說(shuō)說(shuō)明字段段是需要要放在“/*”和“*/”之間的的,這樣樣Javvadooc編譯譯器才可可以識(shí)別別這些說(shuō)說(shuō)明字段段。/*這是是一個(gè)有有說(shuō)明的的Javva應(yīng)用用程序*/publiic cclasss ttesttNotteHeelloo /* *這這是teestNNoteeHelllo類類的主函函數(shù),他他主要是是輸出一一句話。 */ puubli
16、ic sstattic voiid mmainn(Sttrinng aarg) Syysteem.oout.priintlln(Helllo,這是一一個(gè)有說(shuō)說(shuō)明的測(cè)測(cè)試!); /maain()/*ttesttNotteHeelloo*/將以上文字字生成文文檔時(shí),在在命令提提示符窗窗口“E:proograam002”目錄下下需要輸輸入:javaddoc tesstNooteHHelllo.jjavaa這里不必先先將“tesstNooteHHelllo.jjavaa”文件通通過(guò)Jaavacc編譯器器編譯成成“tesstNooteHHelllo.cclasss”文件。最后輸出了了10個(gè)個(gè)新的HHTM
17、LL文件和和1個(gè)“pacckagge-llistt”文件以以及1個(gè)個(gè)樣式單單(CSSS)文文件,這這個(gè)CSSS文件件的作用用是包含含HTMML頁(yè)面面的格式式信息。是是修飾或或者約束束HTMML文件件顯示格格式的。打打開(kāi)“tesstNooteHHelllo.hhtmll”文件,則則可以看看到代碼碼程序中中的文檔檔說(shuō)明一一集次代代碼類的的摘要信信息。P18 反反匯編器器Javvap: JJavaap工具具可以查查詢?nèi)魏魏晤?,檢檢查類的的方法。它它只在類類文件也也就是“.cllasss”文件生生成之后后進(jìn)行操操作,也也就是說(shuō)說(shuō)它操作作的對(duì)象象必須是是類文件件,僅接接受類名名,實(shí)際際操作是是在命令令提
18、示符符窗口“E;proograam002”目錄下下輸入:javapp teestNNoteeHelllo得到的清單單信息為為:Compiiledd frrom tesstNooteHHelllo.jjavaapubliic cclasss ttesttNotteHeelloo exxtennds javva.llangg.Obbjecct puubliic ttesttNotteHeelloo(); puubliic sstattic voiid mmainn(jaava.lanng.SStriing);這里顯示了了兩個(gè)方方法,ttesttNotteHeelloo()和和maiin()。tte
19、sttNotteHeelloo()成成為缺省省的構(gòu)造造函數(shù),這這是一個(gè)個(gè)特殊的的方法,如如果在源源代碼中中沒(méi)有特特殊指定定該類的的構(gòu)造方方法,則則這個(gè)沒(méi)沒(méi)有入口口參數(shù)的的缺省的的構(gòu)造方方法將會(huì)會(huì)自動(dòng)的的在Jaavapp中生成成,而mmainn()方方法是源源代碼中中的。這這樣通過(guò)過(guò)Javvap執(zhí)執(zhí)行程序序操作也也可以看看到源代代碼的方方法構(gòu)造造情況。Javapp也選用用“h”方法來(lái)來(lái)查詢其其參數(shù)使使用方法法。當(dāng)選選擇參數(shù)數(shù)為“c”時(shí):javapp c ttesttNotteHeelloo結(jié)果顯示基基礎(chǔ)的字字節(jié)代碼碼的序列列和方法法清單。Compiiledd frrom tesstNooteHH
20、elllo.jjavaapubliic cclasss ttesttNotteHeelloo exxtennds javva.llangg.Obbjecct puubliic ttesttNotteHeelloo();publiic sstattic voiid mmainn(jaava.lanng.SStriing);Methood ttesttNotteHeelloo() 0 aaloaad_00 1 iinvookesspecciall 11 4 rretuurnMethood vvoidd maain(javva.llangg.Sttrinng) 0 ggetsstattic 2 3
21、lldc 3 5 iinvookevvirttuall 44 8 rretuurn實(shí)際上這些些命令就就是經(jīng)過(guò)過(guò)Javvap反反匯編生生成的源源代碼,但但和真正正的“.jaava”源代碼碼有很大大的出入入,這是是因?yàn)閷⒆止?jié)代代碼再轉(zhuǎn)轉(zhuǎn)換成源源代碼必必然會(huì)有有損耗而而和實(shí)際際不符,但但大體表表現(xiàn)出源源代碼中中方法的的具體信信息。因因?yàn)椤?cllasss”類文件件無(wú)法用用一般的的文本編編輯器查查看,所所以使用用者在不不知道源源代碼的的具體信信息時(shí)常常常采用用此方法法來(lái)了解解一個(gè)類類文件中中的信息息。第三章 面面向?qū)ο笙蠛皖惖牡母拍頟22 相相似對(duì)象象的抽象象稱之為為類(CClasss),它它有著對(duì)
22、對(duì)象的特特征:屬屬性和行行為。也也就是說(shuō)說(shuō),類是是相似或或者相同同對(duì)象的的一個(gè)抽抽象的集集合,這這個(gè)集合合包括了了一些對(duì)對(duì)象所共共有的性性質(zhì)。另另一方面面,通過(guò)過(guò)類可以以獲得一一個(gè)對(duì)象象,稱之之為對(duì)象象的實(shí)例例(Innstaancee),一一個(gè)“類”就像是是一個(gè)壓壓制模型型的板子子,可以以做出許許許多多多類似但但獨(dú)立的的個(gè)別對(duì)對(duì)象。因因此要使使用對(duì)象象,需要要首先建建立一個(gè)個(gè)類,再再通過(guò)“對(duì)象建建立”的動(dòng)作作產(chǎn)生所所需對(duì)象象。而每每一個(gè)產(chǎn)產(chǎn)生的對(duì)對(duì)象就是是一個(gè)獨(dú)獨(dú)立的個(gè)個(gè)體,擁?yè)碛凶约杭旱臓顟B(tài)態(tài)變量值值。P24 一一個(gè)類的的結(jié)構(gòu)用用“修飾符符+cllasss+類名名”和一對(duì)對(duì)大括號(hào)號(hào)來(lái)描述述。
23、例如如程序清清單3.1,類類的類體體為:publiic cclasss vvehiiclee /*veehiccle*/類中定義的的4個(gè)屬屬性,它它們?yōu)椤癹ouurneey、wwheeelNuum、lloaddNumm、drriveerSppeedd”和兩個(gè)個(gè)方法vvehiiclee()和和driiverr()方方法。屬屬性的定定義用“修飾符符+數(shù)據(jù)據(jù)類型+聲明變變量+分分號(hào)”來(lái)描述述,例如如:publiic ffloaat jjourrneyy;方法的定義義用“修飾符符+返回回標(biāo)志+方法名名”和一對(duì)對(duì)小括號(hào)號(hào)來(lái)描述述,例如如:publiic vvoidd drriveerAtt(innt s
24、speeed) / ddrivverAAt()其中屬性定定義和方方法的定定義及其其實(shí)現(xiàn)都都應(yīng)該放放在大括括號(hào)內(nèi),而而代碼子子句的實(shí)實(shí)現(xiàn)都需需要放在在方法的的小括號(hào)號(hào)內(nèi),這這樣就定定義了一一個(gè)類。值得注意的的是drriveerAtt()方方法,次次方法提提供了一一個(gè)入口口參數(shù)“speeed”,這是是為司機(jī)機(jī)向機(jī)動(dòng)動(dòng)車發(fā)布布命令留留下了入入口。當(dāng)當(dāng)司機(jī)調(diào)調(diào)用機(jī)動(dòng)動(dòng)車對(duì)象象要求以以某一速速度行駛駛時(shí),將將調(diào)用ddrivverAAt()方方法。這這個(gè)方法法在判定定司機(jī)要要求的速速度小于于最大行行駛速度度之后指指定速度度進(jìn)行行行駛,否否則將行行駛速度度定為440。if(sppeedd=660) drri
25、veerSppeedd=400;else drriveerSppeedd=sppeedd;P25 程程序清單單3.22 “vehhiclleDrriveer.jjavaa”文本文文件publiic cclasss vvehiicleeDriiverr puubliic SStriing namme;/定義義司機(jī)的的名字/*vehiicleeDriiverr類構(gòu)造造函數(shù)*/ puubliic vehhiclleDrriveer()name = TOMM;/veehiccleDDrivver() /*vehiicleeDriiverr類對(duì)象象的woork方方法*/publiic vvoidd wo
26、ork() veehiccle v = neew vvehiiclee();/生生成veehiccle類類的對(duì)象象v d.driiverrAt(445);/調(diào)調(diào)用v對(duì)對(duì)象所固固有的ddrivverAAt()方方法/woork()publiic sstattic voiid mmainn(Sttrinng aarr )/生生成ehhiclleDrriveer類的的對(duì)象vvd ehhiclleDrriveer vvd = neew eehiccleDDrivver(); vdd.woork(); /調(diào)調(diào)用vdd對(duì)象所所固有的的worrk()方方法/maain()/*vvehiicleeDriive
27、rr*/“vehiicleeDriiverr”類定義義了司機(jī)機(jī)姓名這這一屬性性,并在在其構(gòu)造造函數(shù)vvehiicleeDriiverr()方方法中設(shè)設(shè)定了司司機(jī)的名名字為“TOMM”,同時(shí)時(shí)還設(shè)定定了司機(jī)機(jī)的工作作行為方方法woork(),在在這個(gè)方方法中,首首先生成成了“vehhiclle”類的一一個(gè)對(duì)象象v,接接著這個(gè)個(gè)對(duì)象調(diào)調(diào)用了“vehhiclle”類的實(shí)實(shí)例所固固有的方方法drriveerAtt(),而而且還對(duì)對(duì)行駛的的速度進(jìn)進(jìn)行了賦賦值,用用來(lái)告訴訴機(jī)動(dòng)車車的對(duì)象象v需要要按照445單位位(單位位具體是是什么需需要根據(jù)據(jù)實(shí)際代代碼所要要解決的的問(wèn)題來(lái)來(lái)定)的的速度行行駛。這這就是在
28、在worrk()方方法中完完成了對(duì)對(duì)象的生生成,以以及對(duì)象象之間的的調(diào)用和和消息傳傳遞。和“vehhiclle”類不同同,“vehhiclleDrriveer”類多了了一個(gè)靜靜態(tài)的mmainn()方方法。在在Javva編程程中規(guī)定定,當(dāng)一一個(gè)類有有maiin()方方法時(shí),它它就可以以被作為為應(yīng)用程程序進(jìn)行行使用。而而此例的的maiin()方方法中,生生成了一一個(gè)“vehhiclleDrriveer”類的對(duì)對(duì)象vdd,這一一操作使使用程序序中的代代碼子句句:vehiccleDDrivver vd = nnew vehhiclleDrriveer();來(lái)完成。它它的含義義是指生生成了一一個(gè)名字字叫
29、TOOM的司司機(jī)對(duì)象象。vdd.woork()是是表明了了司機(jī)開(kāi)開(kāi)始工作作,工作作的內(nèi)容容就是:以455單位的的速度駕駕駛一部部已經(jīng)行行駛了1100.3kmm的四輪輪機(jī)動(dòng)車車。P26 因因?yàn)橹挥杏小皏ehhiclleDrriveer”類文件件有maain()方方法,所所以只能能執(zhí)行它它一個(gè)。用用Javva工具具來(lái)執(zhí)行行。命令令如下:java vehhiclleDrriveer(自己注:沒(méi)有方方法maain()就就不能執(zhí)執(zhí)行)提示:如果果需要編編譯一個(gè)個(gè)目錄下下的多個(gè)個(gè)“.jaava”文件,可可以分別別用jaavacc編譯器器進(jìn)行編編譯,也也可以采采用“javvac *.jjavaa”命令來(lái)來(lái)一
30、起編編譯,這這樣節(jié)約約了時(shí)間間。如果果“.jaava”文件很很多而且且代碼編編寫錯(cuò)誤誤可能會(huì)會(huì)比較多多,則不不提倡用用此種方方法,因因?yàn)檫@樣樣可能會(huì)會(huì)產(chǎn)生很很多編譯譯錯(cuò)誤信信息,反反而影響響了效率率。P27 在在Javva術(shù)語(yǔ)語(yǔ)中,祖祖先稱之之為“超類”,而子子孫稱之之為“子類”?!俺悺笔恰白宇悺钡淖蛹?。P29 如如果要調(diào)調(diào)用一個(gè)個(gè)對(duì)象的的方法,JJavaa解釋程程序會(huì)自自動(dòng)檢查查定義該該對(duì)象的的類中的的方法,如如果該類類有這個(gè)個(gè)方法,則則Javva解釋釋程序會(huì)會(huì)自動(dòng)調(diào)調(diào)用它。如如果在這這個(gè)類中中沒(méi)有找找到指定定的方法法,則JJavaa解釋器器會(huì)自動(dòng)動(dòng)尋找該該類的超超類中的的方法,依依此類
31、推推,直到到找到這這個(gè)方法法調(diào)用它它。如果果查找所所有的關(guān)關(guān)于該類類的超類類而最終終也沒(méi)找找到這個(gè)個(gè)方法,JJavaa解釋器器才會(huì)報(bào)報(bào)告找不不到該方方法。查查找方法法的順序序是從底底層到頂頂層,也也就是說(shuō)說(shuō)按照從從子類到到超類順順序的。P30 接接口:盡管單重繼繼承比較較簡(jiǎn)單好好用,而而且也使使我們比比較容易易理解和和設(shè)計(jì)類類之間以以及類所所實(shí)現(xiàn)的的功能之之間的關(guān)關(guān)系。然然而,它它也有一一定的限限制,特特別是當(dāng)當(dāng)需要從從類層次次結(jié)構(gòu)的的不同分分支重復(fù)復(fù)類似特特性的時(shí)時(shí)候,JJavaa通過(guò)接接口解決決了這一一問(wèn)題。Java中中的接口口(Innterrfacce)比比類更抽抽象。它它只定義義了一些
32、些公用的的行為或或操作而而無(wú)任何何的實(shí)現(xiàn)現(xiàn)。而這這類的行行為或操操作,可可被稱為為抽象方方法(AAbsttracct MMethhod)。因因此任何何的類,只只要它需需要皆可可直接加加入其所所需的IInteerfaace。同同時(shí)一個(gè)個(gè)類雖然然僅可繼繼承一個(gè)個(gè)超類,但但它卻可可實(shí)現(xiàn)多多個(gè)接口口,而這這樣的方方法在JJavaa的程序序?qū)崿F(xiàn)里里扮演了了一個(gè)相相當(dāng)重要要的角色色。一個(gè)超類AA有兩個(gè)個(gè)子類分分別是CC和D。其其中C有有著C11和C22兩種特特性,而而D有著著D1和和D2兩兩種特性性。現(xiàn)在在想創(chuàng)建建一個(gè)新新的類EE,它有有C的CC1屬性性和D的的D1屬屬性,因因?yàn)镴aava是是采用單單重繼
33、承承的,而而且C和和D是兩兩個(gè)不同同的分支支,所以以不可能能像多重重繼承那那樣用EE來(lái)同時(shí)時(shí)繼承CC和D。接接口的出出現(xiàn)可以以解決這這個(gè)問(wèn)題題。這種種解決方方法之一一就是創(chuàng)創(chuàng)建一個(gè)個(gè)接口來(lái)來(lái)定義CC1和CC2的行行為,然然后在創(chuàng)創(chuàng)建一個(gè)個(gè)類來(lái)實(shí)實(shí)現(xiàn)這個(gè)個(gè)接口從從而生成成一個(gè)新新的類。可以看出接接口的出出現(xiàn)是對(duì)對(duì)類的一一個(gè)有效效補(bǔ)充,兩兩者幾乎乎可以同同等對(duì)待待,它們們之間的的差別就就在于接接口不能能像類那那樣產(chǎn)生生實(shí)例。P31 接接口的創(chuàng)創(chuàng)建:程序清單33.4 “E.jjavaa”文本文文件publiic iinteerfaace Epubliic sstattic finnal intt E
34、11 = 1000; /E11屬性publiic vvoidd C11(); /C1行行為方法法publiic vvoidd D11(); /D1行行為方法法/*EE*/程序清單33.4中中定義了了E接口口,它和和定義一一個(gè)類很很相似,只只是在定定義方法法之后沒(méi)沒(méi)有方法法的具體體實(shí)現(xiàn)操操作,而而是以一一個(gè)分號(hào)號(hào)就結(jié)束束了定義義。實(shí)際際上這就就是進(jìn)行行了接口口的行為為方法的的聲明。接接口沒(méi)有有maiin()方方法,也也不能生生成新的的實(shí)例,但但是它編編寫之后后也是保保存成“.jaava”文件。保保存的文文件名和和接口名名保持一一致。在在通過(guò)jjavaac編譯譯器編譯譯之后也也生成“.cllass
35、s”文件,這這一點(diǎn)也也和類相相似。P31 接接口的擴(kuò)擴(kuò)展;接口的擴(kuò)展展也采用用關(guān)鍵字字“exttendds”來(lái)進(jìn)行行實(shí)現(xiàn)。所所以假設(shè)設(shè)創(chuàng)建一一個(gè)F接接口,它它是繼承承E接口口的。則則可以用用以下代代碼來(lái)聲聲明。publiic iinteerfaace F eexteendss E/接接口F的的內(nèi)容 如果需要?jiǎng)?chuàng)創(chuàng)建一個(gè)個(gè)G接口口,它是是分別繼繼承E接接口和接接口的,則則可以用用以下代代碼來(lái)聲聲明。publiic iinteerfaace G eexteendss E,F(xiàn)F/接接口G的的內(nèi)容在多重繼承承中被繼繼承的父父類接口口之間用用逗號(hào)隔隔開(kāi)。P32 接接口的實(shí)實(shí)現(xiàn):使用接口來(lái)來(lái)定義新新的類,需
36、需要用“impplemmentts”來(lái)完成成。例如如編寫一一個(gè)Ecclasss類,它它有C11行為方方法和DD1行為為方法,則則只要實(shí)實(shí)現(xiàn)E接接口就可可以了。EEclaass類類程序見(jiàn)見(jiàn)程序清清單3.5.程序清單33.5 “Ecllasss.jaava”文本文文件publiic cclasss EEclaass impplemmentts EEpubliic vvoidd C11()/實(shí)實(shí)現(xiàn)C11行為方方法 Syysteem.oout.priintlln(C1方方法實(shí)現(xiàn)現(xiàn));/C11()publiic vvoidd D11()/實(shí)實(shí)現(xiàn)D11行為方方法 Syysteem.oout.priintl
37、ln(D1方方法實(shí)現(xiàn)現(xiàn));/D11()/*EEclaass*/代碼“puubliic cclasss EEclaass impplemmentts EE”不僅聲聲明了一一個(gè)類EEclaass,同同時(shí)還聲聲明這個(gè)個(gè)類要實(shí)實(shí)現(xiàn)E接接口,這這里用到到了關(guān)鍵鍵字“impplemmentts”,而且且在這個(gè)個(gè)類中重重寫了CC1()和和D1()兩兩個(gè)方法法,編寫寫了代碼碼進(jìn)行了了實(shí)現(xiàn)。這這樣就完完成了EEclaass類類的創(chuàng)建建工作。這這個(gè)類可可以被其其他子類類所繼承承,并且且也可以以生成這這個(gè)類的的對(duì)象。提示:讀者者也許會(huì)會(huì)認(rèn)為可可以直接接編寫EEclaass類類而不用用實(shí)現(xiàn)接接口,這這樣自然然省去了了
38、接口的的定義,但但是在實(shí)實(shí)際應(yīng)用用中,接接口恰恰恰是非常常有用的的,在接接口中會(huì)會(huì)定義很很多方法法,不同同的類可可以按照照自身的的性質(zhì)繼繼承接口口,各取取所需,實(shí)實(shí)現(xiàn)不同同的方法法,這樣樣編寫出出的類集集合的層層次才會(huì)會(huì)更加清清楚,提提高效率率。一個(gè)要編寫寫的類可可以實(shí)現(xiàn)現(xiàn)多個(gè)接接口,但但是要確確保所有有接口的的方法都都被實(shí)現(xiàn)現(xiàn),盡管管有些接接口的方方法不需需要,也也要編寫寫一個(gè)沒(méi)沒(méi)有代碼碼的空方方法進(jìn)行行實(shí)現(xiàn)。例例如Ecclasss類中中就需要要將E接接口中聲聲明的方方法一一一實(shí)現(xiàn),如如果缺少少了E11()方方法或者者是D11()方方法,EEclaass類類均不能能編譯成成功。另另外在實(shí)實(shí)現(xiàn)
39、接口口中定義義的類之之后,所所編寫的的類也可可以編寫寫自己的的方法。例例如編寫寫一個(gè)EEtottalCClasss類,這這個(gè)類不不但實(shí)現(xiàn)現(xiàn)了E接接口和MM接口,同同時(shí)也有有自己的的方法EE1()。程程序清單單3.66給出了了M接口口的定義義,程序序清單33.7給給出了完完整的EEtottalCClasss類的的定義。程序清單33.6 “M.jjavaa”文本文文件publiic cclasss EEtottalCClasss iimpllemeentss E,MMpubliic vvoidd C11()/實(shí)實(shí)現(xiàn)C接接口C11行為方方法Systeem.oout.priintlln(C接口口C1行
40、行為方法法實(shí)現(xiàn));/C11()publiic vvoidd D11()/實(shí)實(shí)現(xiàn)D接接口D11行為方方法 Syysteem.oout.priintlln(D接口口D1行行為方法法實(shí)現(xiàn));/D11()publiic vvoidd M11()/實(shí)實(shí)現(xiàn)M接接口M11行為方方法 Syysteem.oout.priintlln(M接口口M1行行為方法法實(shí)現(xiàn));/M11()publiic vvoidd E11()/自自身的方方法實(shí)現(xiàn)現(xiàn) Syysteem.oout.priintlln(自身的的方法實(shí)實(shí)現(xiàn));/E11()publiic sstattic voiid mmainn(Sttrinng aa ) Et
41、totaalCllasss e = nnew EtootallClaass(); e.C1(); e.D1();e.M1();e.E1();/maain()/*EEtottalCClasss*/程序清單33.7中中用代碼碼“pubblicc cllasss EttotaalCllasss immpleemennts E,MM”完成了了“EtootallClaass”類的聲聲明,同同時(shí)也聲聲明它要要實(shí)現(xiàn)EE接口和和M接口口,多個(gè)個(gè)接口中中用逗號(hào)號(hào)隔開(kāi)。第4章 JJavaa語(yǔ)言基基礎(chǔ)P35 變變量的定定義包括括變量名名、變量量類型和和作用域域幾個(gè)部部分。P36 變變量的作作用域是是指一個(gè)個(gè)變量可可
42、以被訪訪問(wèn)的代代碼程序序段。聲聲明一個(gè)個(gè)變量的的同時(shí)也也就指明明了變量量的作用用域。按按作用域域來(lái)分,變變量可以以有下面面幾種:局部變變量、類類變量、方方法參數(shù)數(shù)、例外外處理參參數(shù)。每每一種變變量都有有其一定定的應(yīng)用用場(chǎng)合和和作用域域。a局部變量量在方法法或方法法的一塊塊代碼中中聲明,它它的作用用域?yàn)樗诘牡拇a塊塊,即整整個(gè)方法法或方法法中的某某塊代碼碼。b類變量是是在類的的開(kāi)始聲聲明中創(chuàng)創(chuàng)立,而而不在類類的某個(gè)個(gè)方法中中聲明,因因此它的的作用域域是整個(gè)個(gè)類。c方法參數(shù)數(shù)傳遞給給方法,它它的作用用域就是是這個(gè)方方法。d例外處理理參數(shù)傳傳遞給例例外處理理代碼,它它的作用用域就是是例外處處理
43、部分分。P36 SStriing表表示字符符型常量量。P37 局局部變量量在創(chuàng)建建之后必必須進(jìn)行行變量賦賦值,否否則程序序?qū)o(wú)法法編譯,所所以給局局部變量量賦值是是編程者者一個(gè)良良好的習(xí)習(xí)慣。這這種習(xí)慣慣的延伸伸是給類類變量進(jìn)進(jìn)行初始始值賦值值,盡管管有時(shí)候候類變量量對(duì)初始始值賦值值不是那那么重要要。P37 常常量:常量是一種種特殊的的變量,所所以它的的聲明是是和變量量的聲明明一致的的,只是是需要在在變量的的聲明類類型前加加“finnal”關(guān)鍵字字來(lái)表明明此變量量是一個(gè)個(gè)常量,同同時(shí)一個(gè)個(gè)常量需需要進(jìn)行行初始值值的確定定。例如如創(chuàng)建數(shù)數(shù)學(xué)公式式中的圓圓周率這這一常量量。finall dooub
44、lle PPI = 3.141159226;常量的名稱稱一般都都是大寫寫的,例例如圓周周率一般般用大寫寫“PI”而不用用小寫的的“pi”。但是是這并不不是必須須的,這這只是一一個(gè)良好好的Jaava編編程習(xí)慣慣,看到到全部都都是大寫寫的變量量的時(shí)候候會(huì)想到到這可能能是一個(gè)個(gè)常量,從從而使程程序更加加的容易易被理解解。P38 基基本數(shù)據(jù)據(jù)類型:整型變量的的類型有有bytte、sshorrt、iint和和lonng 4種。iint類類型是最最常使用用的一種種整數(shù)類類型。它它所表示示的數(shù)據(jù)據(jù)范圍為為64位位處理器器。但對(duì)對(duì)于大型型計(jì)算,常常會(huì)遇到到很大的的整數(shù),超超出innt類所所表示的的范圍,這這時(shí)
45、要使使用loong類類型。由由于不同同的機(jī)器器對(duì)于多多字節(jié)數(shù)數(shù)據(jù)的存存儲(chǔ)方式式不同,可可能是低低字節(jié)向向高字節(jié)節(jié)存儲(chǔ),也也可能是是從高字字節(jié)向低低字節(jié)存存儲(chǔ),這這樣,在在分析網(wǎng)網(wǎng)絡(luò)協(xié)議議或文件件格時(shí),為為了解決決不同機(jī)機(jī)器上的的字節(jié)存存儲(chǔ)順序序問(wèn)題,用用bytte類型型來(lái)表示示數(shù)據(jù)是是合適的的。而通通常情況況下,由由于其表表示的數(shù)數(shù)據(jù)范圍圍很小,容容易造成成溢出,應(yīng)應(yīng)避免使使用。sshorrt類型型則很少少使用,它它限制數(shù)數(shù)據(jù)的存存儲(chǔ)為先先高字節(jié)節(jié),后低低字節(jié),這這樣在某某些機(jī)器器中會(huì)出出錯(cuò)。實(shí)實(shí)際中使使用哪一一個(gè)數(shù)據(jù)據(jù)類型完完全取決決于整數(shù)數(shù)的實(shí)際際大小,恰恰當(dāng)?shù)倪x選取數(shù)據(jù)據(jù)類型可可以節(jié)省省
46、空間,提提高程序序的運(yùn)行行效率。實(shí)數(shù)型數(shù)據(jù)據(jù)類型有有flooat和和douublee兩種,它它們分別別代表著著單精度度類型和和雙精度度類型。char字字符型數(shù)數(shù)據(jù)類型型用于存存儲(chǔ)單個(gè)個(gè)字符,例例如字母母、數(shù)字字、標(biāo)點(diǎn)點(diǎn)符號(hào)和和其他符符號(hào)。booleean布布爾型數(shù)數(shù)據(jù)類型型用于存存放trrue或或者faalsee關(guān)鍵字字。以上8種數(shù)數(shù)據(jù)類型型為Jaava語(yǔ)語(yǔ)言中基基本的數(shù)數(shù)據(jù)類型型。同時(shí)時(shí)Javva中還還有一些些諸如CCharr和Boooleean的的類,它它們的拼拼寫和基基本的數(shù)數(shù)據(jù)類型型基本一一致,只只是首寫寫字母大大小寫不不同。因因?yàn)镴aava編編程中是是區(qū)分大大小寫的的,所以以它們有有
47、不同的的功能,從從屬性上上就可以以看出,一一方面是是數(shù)據(jù)類類型,另另一方面面是類。另外需要重重點(diǎn)提出出的是SStriing數(shù)數(shù)據(jù)類型型,它是是“javva.llangg.Sttrinng”類的對(duì)對(duì)象類型型。它表表示一個(gè)個(gè)順序不不可變的的字符序序列,該該數(shù)據(jù)類類型在JJavaa編程中中起著相相當(dāng)大的的作用,但但是它不不是基本本的數(shù)據(jù)據(jù)類型。P38 數(shù)數(shù)據(jù)類型型值: 表4-33 常用用的數(shù)據(jù)據(jù)類型數(shù)據(jù)類型形式booleeantrue或或者faalseeint十進(jìn)制:數(shù)數(shù)字09110999十六進(jìn)制:0 x或或0 x后后面跟009、AAF,如0 xx9AFFlong同int數(shù)數(shù)據(jù)類型型,但后后面跟11
48、或者LL,如00 x9AAFLfloatt數(shù)字加小數(shù)數(shù)點(diǎn),后后面跟ff或者是是F,如如3.114fdoublle數(shù)字加小數(shù)數(shù)點(diǎn)或者者是科學(xué)學(xué)計(jì)數(shù)法法,如33.144、3.14+15FFchar引號(hào)內(nèi)的AASCIII碼,如如S、qStrinng雙引號(hào)內(nèi)的的一列字字符,如如LaaoHuuP39 數(shù)數(shù)值型數(shù)數(shù)據(jù)間的的混合運(yùn)運(yùn)算:整型、實(shí)型型、字符符型數(shù)據(jù)據(jù)可以混混合運(yùn)算算。在運(yùn)運(yùn)算過(guò)程程中當(dāng)遇遇到不同同類型的的數(shù)據(jù)時(shí)時(shí),一般般是先轉(zhuǎn)轉(zhuǎn)換成同同一數(shù)據(jù)據(jù)類型,然然后再進(jìn)進(jìn)行運(yùn)算算。轉(zhuǎn)換換是按從從低級(jí)到到高級(jí)的的轉(zhuǎn)換原原則。轉(zhuǎn)換規(guī)則如如下:(bytee或shhortt)opp inntintt(bytee
49、或shhortt或innt)oop llongglonng(bytee或shhortt或innt或llongg)opp flloattflooat(bytee或shhortt或innt或llongg或flloatt)opp dooublledouubleechar op inttint其中“opp”符號(hào)左左邊的表表示主動(dòng)動(dòng)參與運(yùn)運(yùn)算的數(shù)數(shù)據(jù)類型型,“op”為運(yùn)算算符(如如加、減減、乘、除除等),“op”符號(hào)右邊的表示被動(dòng)參與運(yùn)算的數(shù)據(jù)類型,“”符號(hào)右邊的是轉(zhuǎn)換完的數(shù)據(jù)類型。當(dāng)需要將高高級(jí)數(shù)據(jù)據(jù)轉(zhuǎn)換成成低級(jí)數(shù)數(shù)據(jù)時(shí),需需用到強(qiáng)強(qiáng)制類型型轉(zhuǎn)換,例例如將ffloaat型數(shù)數(shù)據(jù)變量量轉(zhuǎn)換成成intt型
50、數(shù)據(jù)據(jù)變量,則則:floatt f;int ii = (innt)ff;提示:將高高級(jí)數(shù)據(jù)據(jù)轉(zhuǎn)換成成低級(jí)數(shù)數(shù)據(jù)可能能會(huì)導(dǎo)致致數(shù)據(jù)的的丟失,例例如當(dāng)ff的值是是3.114的時(shí)時(shí)候,將將其轉(zhuǎn)換換成整型型類型ii之后,ii的值為為3,這這一點(diǎn)在在強(qiáng)制轉(zhuǎn)轉(zhuǎn)換的過(guò)過(guò)程中需需要注意意。P40 注注釋的語(yǔ)語(yǔ)法:Java編編程中注注釋有33種方法法,它們們適用于于不同的的場(chǎng)合。 /ccommmentt 從“/”到語(yǔ)句句末尾的的所有內(nèi)內(nèi)容都屬屬于說(shuō)明明語(yǔ)句,只只能用于于單行。 /*ccommmentt*/ 從“/*”到“*/”之間的的語(yǔ)句為為說(shuō)明語(yǔ)語(yǔ)句,可可以用于于多行。 /*commmennt*/ 用于于建檔
51、的的說(shuō)明語(yǔ)語(yǔ)句,其其內(nèi)容是是“/*”到“*/”之間的的。其中commmennt為程程序中的的注釋信信息,“/*commmennt*/”語(yǔ)句是是特殊的的說(shuō)明語(yǔ)語(yǔ)句,稱稱為Jaavaddoc說(shuō)說(shuō)明語(yǔ)句句,是根根據(jù)JSSDK工工具命名名的,它它的作用用和“/*ccommmentt*/”語(yǔ)句相相似。注釋語(yǔ)句在在程序運(yùn)運(yùn)行階段段將被忽忽視,所所以不影影響程序序的進(jìn)行行。但是是“/*/”語(yǔ)句不不能采用用嵌套形形式,即即“/*/”語(yǔ)句內(nèi)內(nèi)再一次次進(jìn)行“/*/”語(yǔ)句的的注釋,它它的形式式為“/* /* */ */”。這樣樣第一個(gè)個(gè)“*/”會(huì)終止止說(shuō)明語(yǔ)語(yǔ)句,導(dǎo)導(dǎo)致后面面的說(shuō)明明注釋語(yǔ)語(yǔ)句無(wú)效效而在編編譯或者者
52、是運(yùn)行行中執(zhí)行行。P40 至至此已經(jīng)經(jīng)介紹了了Javva語(yǔ)言言的關(guān)鍵鍵字、變變量、常常量、數(shù)數(shù)據(jù)類型型和注釋釋等內(nèi)容容,這些些內(nèi)容實(shí)實(shí)際上在在Javva編程程中都是是很細(xì)小小的部分分,但是是它們卻卻是Jaava編編程的基基礎(chǔ),正正確的理理解和運(yùn)運(yùn)用它們們就是奠奠定了應(yīng)應(yīng)用Jaava代代碼編程程的基石石。程序序4.11對(duì)這些些方面進(jìn)進(jìn)行了綜綜合運(yùn)用用,讀者者可以針針對(duì)程序序的具體體細(xì)節(jié)來(lái)來(lái)對(duì)應(yīng)學(xué)學(xué)習(xí)以上上的內(nèi)容容。程序清單44.1 “dattaInnit.jaava”文本文文件/*本例介紹紹和運(yùn)用用Javva關(guān)鍵鍵字、變變量、常常量、數(shù)數(shù)據(jù)類型型和注釋釋等方面面內(nèi)容*并且采用用它生成成一個(gè)標(biāo)標(biāo)準(zhǔn)
53、的jjavaadocc文檔*autthorr Tiigerr*verrsioon 11.0*/publiic cclasss ddataaIniit/*主函數(shù)、完完成所有有功能。*parram Strringg arrg*retturnn 無(wú)*thrrowss 無(wú)*/publiic sstattic voiid mmainn(Sttrinng aarg )/單行行注釋,描描述下一一行子句句功能。定定義整型型變量int roaadLeengtth = 10000;/定義義單精度度數(shù)據(jù)類類型。進(jìn)進(jìn)行初始始化賦值值,數(shù)字字加小數(shù)數(shù),后面面跟ffloaat rroaddAdddLenngthh = 5
54、000.1ff;/定義義雙精度度常量圓圓周率PPIfinaal ddoubble PI = 33.144159926;/定義義字符串串對(duì)象變變量Striing queery = abccdeffg;/*多行注釋釋,此為為第一行行以上用到了了pubblicc、cllasss、sttatiic、vvoidd、innt、ffloaat、ffinaal、ddoubble等等關(guān)鍵字字此為第三三行*/返回回實(shí)型的的道路總總長(zhǎng)度f(wàn)loaat fflRooadTTotaalLeengtth = rooadLLenggth + rroaddAdddLenngthh;/返回回整型的的道路總總長(zhǎng)度int inttR
55、oaadTootallLenngthh = roaadLeengtth + (iint)rroaddAdddLenngthh;/maain()/*ddataaIniit*/P42 運(yùn)運(yùn)算符首首先是特特殊符號(hào)號(hào),它主主要由算算術(shù)運(yùn)算算符、關(guān)關(guān)系運(yùn)算算符、布布爾運(yùn)算算符、字字符串操操作符、賦賦值操作作符、特特殊操作作符等組組成。P44 布布爾型操操作符作作用于布布爾操作作數(shù)并返返回布爾爾值,用用以實(shí)現(xiàn)現(xiàn)標(biāo)準(zhǔn)的的布爾代代數(shù)運(yùn)算算。其基基本運(yùn)算算為ANND、OOR、NNOT、和和XORR(異或或)。 ANDD是二元元“布爾與與”操作,其其符號(hào)是是“&”。當(dāng)兩兩個(gè)布爾爾型操作作數(shù)都為為truue的時(shí)時(shí)候
56、返回回的結(jié)果果為trrue。如如果兩個(gè)個(gè)布爾型型操作數(shù)數(shù)至少有有一個(gè)為為fallse,那那么返回回的結(jié)果果就為ffalsse。 OR是是二元“布爾或或”操作,其其符號(hào)是是“|”。當(dāng)兩兩個(gè)布爾爾型操作作數(shù)都為為fallse的的時(shí)候返返回的結(jié)結(jié)果為ffalsse。如如果兩個(gè)個(gè)布爾型型操作數(shù)數(shù)至少有有一個(gè)為為truue,那那么返回回的結(jié)果果就為ttruee。 NOTT是“否”操作,其其符號(hào)是是“!”。當(dāng)操操作數(shù)是是truue的時(shí)時(shí)候,則則返回的的結(jié)果是是fallse。當(dāng)當(dāng)操作數(shù)數(shù)是faalsee的時(shí)候候,則返返回的結(jié)結(jié)果是ttruee。 XORR是二元元“異或”操作,其其符號(hào)是是“”。當(dāng)兩兩個(gè)布爾爾
57、型操作作數(shù)都為為truue或者者都為ffalsse的時(shí)時(shí)候,返返回結(jié)果果是faalsee。當(dāng)兩兩個(gè)布爾爾型操作作數(shù)一個(gè)個(gè)為trrue而而另外一一個(gè)為ffalsse的時(shí)時(shí)候,返返回的結(jié)結(jié)果為ttruee。另外布爾型型操作符符還有“&”(條件件與)操操作符和和“|”(條件件或)操操作符,它它們的運(yùn)運(yùn)算情況況和“布爾與與”和“布爾或或”相似,只只不過(guò)前前兩個(gè)操操作符是是面向條條件的真真假來(lái)判判斷得到到結(jié)果的的,“布爾與與”和“布爾或或”是根據(jù)據(jù)操作數(shù)數(shù)的真假假來(lái)判斷斷結(jié)果的的,在實(shí)實(shí)際情況況中“條件與與”操作符符和“條件或或”操作符符使用的的頻率比比較高。P45 字字符串操操作符:字符串操作作符只有
58、有一個(gè)“+”稱之為為結(jié)合操操作符。它它用于將將字符串串連接結(jié)結(jié)合在一一起生成成一個(gè)新新的字符符串,它它的優(yōu)先先級(jí)是55。例如如:Strinng ssOldd = I;Strinng ssNeww = sOlld+am a bboy;sNew是是一個(gè)新新的字符符串,其其結(jié)果是是“I aam aa booy”。如果果一個(gè)字字符串SStriing和和一個(gè)對(duì)對(duì)象Obbjecct用“接合”操作符符進(jìn)行連連接,則則Javva自動(dòng)動(dòng)調(diào)用對(duì)對(duì)象的ttoSttrinng()方方法,這這樣兩者者相加返返回的還還是一個(gè)個(gè)字符串串變量。例例如:Strinng ssOldd = I;Strinng ooldOObjee
59、ct ;Strinng ssNeww = sOlld+ooldOObjeect;P46 特特殊操作作符:此外還有測(cè)測(cè)試操作作符和生生成運(yùn)算算符。測(cè)試操作符符的符號(hào)號(hào)是“insstannceoof”,它的的作用是是判斷一一個(gè)變量量是否是是某一個(gè)個(gè)類的實(shí)實(shí)例,返返回是布布爾型變變量。例例如:booleean b1,bb2,bb3;persoon pp;man mm;p = nnew perrsonn();m = nnew mann();b1 = p iinsttancceoff peersoon;b2 = p iinsttancceoff peersoon;b3 = p iinsttancceof
60、f peersoon;b1將得到到truue。bb2將返返回faalsee。如果果mann類是ppersson類類的子類類,則bb3返回回truue,否否則返回回fallse。測(cè)測(cè)試操作作符的級(jí)級(jí)別是77。生成預(yù)算副副的符號(hào)號(hào)是“neww”,它的的作用是是生成類類的新的的對(duì)象,一一般在實(shí)實(shí)例化對(duì)對(duì)象或者者是構(gòu)造造函數(shù)時(shí)時(shí)用。例例如聲明明并生成成一個(gè)ppersson類類的對(duì)象象p:persoon pp = neww peersoon();P46 修修飾符:修飾符是影影響類、變變量、方方法以及及生存空空間、行行為和訪訪問(wèn)性的的關(guān)鍵字字。表44-9列列出了類類、方法法和變量量可用的的常用修修飾符。表
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 家長(zhǎng)會(huì)議與交流計(jì)劃
- 改善供應(yīng)鏈管理的策略計(jì)劃
- 現(xiàn)金流對(duì)生產(chǎn)的影響計(jì)劃
- 掌控時(shí)間的職場(chǎng)管理計(jì)劃
- 起泡酒知識(shí)培訓(xùn)課件視頻
- 頸椎損傷截癱術(shù)后護(hù)理
- 護(hù)理實(shí)操知識(shí)培訓(xùn)課件
- 員工防疫知識(shí)培訓(xùn)課件
- Unit 6 A Day in the Life 同步教學(xué)設(shè)計(jì) 2024-2025學(xué)年人教版(2024)七年級(jí)英語(yǔ)上冊(cè)
- 2025年高中化學(xué):“四大平衡”歸納總結(jié)請(qǐng)查收收藏
- 人工智能對(duì)輿情分析的影響
- 2025年北海康養(yǎng)職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能考試題庫(kù)參考答案
- 2025屆山東省菏澤市高三下學(xué)期一模考試歷史試題(含答案)
- 2025屆浙江省湖州、衢州、麗水高三11月三地市一??荚嚮瘜W(xué)試卷
- 2025年湖南藝術(shù)職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)參考答案
- 2025年湖南鐵道職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)學(xué)生專用
- 《臨床常見(jiàn)心理問(wèn)題》課件
- 2025年廣州開(kāi)發(fā)區(qū)水質(zhì)監(jiān)測(cè)中心第四次招考聘用編外人員2人高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 教學(xué)課件:《民事訴訟法》(本科)
- 2024年吉林省生活垃圾清運(yùn)和處理市場(chǎng)前景預(yù)測(cè)及投資規(guī)劃研究報(bào)告
- 2025年湖南省高職單招《語(yǔ)文》高頻必練考試題庫(kù)400題(含答案)
評(píng)論
0/150
提交評(píng)論