




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Java程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書長沙理工大學(xué)計(jì)算機(jī)與通信工程學(xué)院陳沅濤2006 年 3 月關(guān)于 Java 課程上機(jī)實(shí)驗(yàn)的幾點(diǎn)說明(1)開發(fā)工具根據(jù)機(jī)房情況我們采用 JDK1.4.2+JCreator 3.5.0 進(jìn)行所有的Java編程語言設(shè)計(jì)工作。JDK和JCreator的具體安 裝請同學(xué)們參考此文檔的第一部分。(2)我們前五次上機(jī)主要是針對(duì)Java程序設(shè)計(jì)語言的重點(diǎn)部分進(jìn)行上機(jī)實(shí)驗(yàn), 具體見此文檔的第二部分。 第一次完成實(shí)驗(yàn)一、第二次完成實(shí)驗(yàn)二、第三次完成實(shí)驗(yàn)三、第四次完成實(shí)驗(yàn)四、 第五次要完成實(shí)驗(yàn)五和實(shí)驗(yàn)六, 第六次第十次我們做一次綜合設(shè)計(jì),具體內(nèi)容再另行布置。( 3 ) 實(shí)驗(yàn)報(bào)告我就不要求大家
2、用專門的實(shí)驗(yàn)報(bào)告紙進(jìn)行書寫了,統(tǒng)一寫在你們的練習(xí)本上。格式包括: 程序流程圖、具體實(shí)現(xiàn)代碼(關(guān)鍵代碼要有注釋語句)作業(yè)布置:第一次作業(yè)布置: Java 程序設(shè)計(jì)實(shí)用教程 (馬迪芳)P95 1、 3、 4P133 9共四道題第一部分JAVA集成開發(fā)環(huán)境Java不僅提供了一個(gè)豐富的語言和運(yùn)行環(huán)境,而且還提供了一個(gè)免費(fèi)的Java開發(fā)工具集(JavaDevelopersKits ,簡稱JDK)。編程人員和最終用戶可以利用這些工具來開發(fā)java程序或調(diào)用Java內(nèi)容。通常我們以JDK (Sun所開發(fā)的一套Java開發(fā)工具)的版本來定義 Java的版本。JDK1.0版于1996年初公開,JDK1.1版于1
3、997年初公開,JDK1.2版于1998 年底公開。基于市場行銷的考量,Sun在JDK1.2版公開后旋即將Java改名為Java2,將JDK 改名為Java2SoftwareDevelopmentKit(以下簡稱 J2SDK。J2SDK (原稱 JDK) 1.3于2000年4月公開,此版本仍稱做 Java2。目前J2SDK1.4.2版已經(jīng)發(fā)布并投入使用中, 目前Java1.5測試版已發(fā)布。Java2 出現(xiàn)后,將分成 Java2PlatformEnterpriseEdition (簡稱 J2EE)、 Java2PlatformStandardEdition (簡稱 J2SE)、Java2Plat
4、formMicroEdition (簡稱 J2ME)。J2EE適用于服務(wù)器,目前已經(jīng)成為企業(yè)運(yùn)算、電子商務(wù)等領(lǐng)域中相當(dāng)熱門的技術(shù);J2SE適用于一般的計(jì)算機(jī);J2ME適用于消費(fèi)性電子產(chǎn)品。除了這三者之外,JavaCard依然是獨(dú)立的一套標(biāo)準(zhǔn)。隨著應(yīng)用領(lǐng)域的不同,Java有許多 API (ApplicationProgrammingInterface ),這些API分成三大類:JavaCoreAPI :由Sun制定的基本 API,任何Java平臺(tái)都必須提供。JavaStandardExtensionAPI(javax) :由 Sun 制定的擴(kuò)充 API, Java 平臺(tái)可以選擇性地 提供或加裝。
5、廠商或組織所提供的 API :由各家公司或組織所提供。其中CoreAPI和StandardExtensionAPI已經(jīng)逐漸涵蓋了大部份的信息應(yīng)用領(lǐng)域,例如多媒體、數(shù)據(jù)庫、 Web企業(yè)運(yùn)算、語音、實(shí)時(shí)系統(tǒng)、網(wǎng)絡(luò)、電話、影像處理、加解密、GU水分布式運(yùn)算 。如果你有某項(xiàng)需求尚未有標(biāo)準(zhǔn)的JavaAPI可遵循,你可以向Sun提出制定新API的請求。經(jīng)過審核之后,你的要求可能會(huì)通過、駁回 等。如果通過,就會(huì)開始 進(jìn)入制定API的程序。JavaAPI的制定過程因?yàn)楣_,J2EE、J2SE、J2ME及CoreAPI的關(guān)系見下圖lbptioalI- Prckdg&sPlat(orm1 Standard Edi
6、tion (J2SE* Pljtfprm)OptiunalJava 2 Platform, Micro Edition PI航form)PersonalProfileCardH uAPli JPlatform,EnterpriseEdition(JZEEEPFntform)圖 1.1 J2EE、J2SE、J2ME及 CoreAPI 的關(guān)系且經(jīng)過許多業(yè)界技術(shù)領(lǐng)先公司的共同參與,所以相當(dāng)完善而優(yōu)異。和 Java標(biāo)準(zhǔn)相關(guān)的 任何第一手資料,你都可以在。1.1 DOS 環(huán)境 Java2SDKSUN的Java不僅提了一個(gè)豐富的語言和運(yùn)行環(huán)境,而且還提了一個(gè)免費(fèi)的Java開發(fā)工具集(JDK)。開發(fā)人員和最
7、終用戶可以利用這個(gè)工具來開發(fā)java程序。JDK簡單易學(xué),可以通過任彳S文本編輯器(如: Windows 記事本、UltrEdit、Editplus、 FrontPage以及dreamweaver等)編寫Java源文件,然后在 DOS狀況下利通過javac命 令將Java源程序編譯成字節(jié)碼, 通過Java命令來執(zhí)行編譯后的 Java文件,這能帶給DOS 時(shí)代程序員美好的回憶。Java初學(xué)者一般都采用這種開發(fā)工具。從初學(xué)者角度來看,采用JDK開發(fā)Java程序能夠很快理解程序中各部分代碼之間的關(guān)系,有利于理解 Java面向?qū)ο蟮脑O(shè)計(jì)思想。JDK的另一個(gè)顯著特點(diǎn)是隨著Java (J2EE、J2SE以
8、及J2ME )版本的升級(jí)而升級(jí)。但它的缺點(diǎn)也是非常明顯的就是從事大規(guī)模企業(yè)級(jí) Java應(yīng)用開發(fā)非常困難,不能進(jìn)行復(fù)雜的Java軟件開發(fā),也不利于團(tuán)體協(xié)同開發(fā)。1.1.1 建立Java開發(fā)環(huán)境(1)下載 JavaJDK.本書將使用目前最新的版本J2SE的Java2 J2SE 5.0(1.5.0)??梢酝ㄟ^IE或NetScape瀏覽器瀏覽網(wǎng)址:,根據(jù)提示可以下載支持MicrosoftWindows 操作系統(tǒng)的到本地硬盤或從CD復(fù)制到本地硬盤.安裝 JavaJDK.J2SE1.5.0安裝界面從硬盤中或從光盤(如JAVAII光盤)中運(yùn)行jdk-1_5_ ,根據(jù)提示可以選擇安裝文件夾如D:jdk1.5.
9、0,然后根據(jù)提示進(jìn)行安裝,如上圖。安裝完成后得到如下的文件和目錄結(jié)構(gòu)。B Q jdklS.O亡J bin+ if demo田日 includeS 0 jre曰lib-5ompleBjnlp+nio(圖1.3) jdk1.5.0 的目錄結(jié)構(gòu) 圖1.3是j2sdk1.5.0 的目錄結(jié)構(gòu)。 配置 JavaSDK. Windows98/ME/XP:簡單的方法就是選擇開始運(yùn)行sysedit ,這會(huì)顯示一個(gè)實(shí)用程序 的界面。圖1.4系統(tǒng)配置編輯器在這里可以設(shè)置環(huán)境變量.設(shè)置項(xiàng)目如下:修改就是修改自動(dòng)批處理文件。添加:set PATH=jdk 安裝目錄 bin;%path%set CLASSPATH=.;j
10、dk 安裝目錄 lib如set PATH=D:jdk1.5.0bin ; %path%set CLASSPATH=.;D:jdk1.5.0jrelib;set JAVA_HOME=D:jdk1.5.0 / 你安裝 J2SE的目錄Windows2000操作系統(tǒng):打開系統(tǒng)設(shè)置,按 Winkey+Break或右擊“我的電腦”,選屬性, 選擇高級(jí),系統(tǒng)環(huán)境。同樣設(shè)置以上的系統(tǒng)環(huán)境變量.設(shè)置完JDK路徑后,任何地方皆可執(zhí)行Java原始程序代碼。其他操作系統(tǒng)的安裝和配置可以參考以上的系統(tǒng)環(huán)境變量進(jìn)行配置。1.1.2 JDK開發(fā)環(huán)境中常用工具介紹下面將介紹一些主要 Java工具的使用,在 Java環(huán)境中的J
11、ava工具列表如下所示:*appletviewer小應(yīng)用程序?yàn)g覽器*java解釋器*javac編譯器*javah頭文件生成器*javadocAPI 文檔生成器*javap類文件反匯編器*jdb Java 語言調(diào)試器這些文件包括在d:jdk1.5.0bin目錄中,并可以在任何目錄中運(yùn)行,前提是你在設(shè)置運(yùn)行程序的系統(tǒng)中設(shè)置了路徑。javac 編譯器Javac編譯器讀取Java源代碼,并將其編譯成字節(jié)代碼,調(diào)用 Javac的命令行如下: d:userjavac options表1.1部分選項(xiàng)選項(xiàng)功能-classpathpath此選項(xiàng)用于設(shè)定路徑,在該路徑上Javac尋找需被 調(diào)用的類。該路徑是一個(gè)用
12、分號(hào)分開的目錄列表。-ddirectory此選項(xiàng)指定一個(gè)根目錄。該目錄用來創(chuàng)建反映軟件 包繼承關(guān)系的目錄數(shù)。-g此選項(xiàng)在代碼產(chǎn)生器中打開調(diào)試表,以后可憑此調(diào) 試產(chǎn)生字節(jié)代碼。-O此選項(xiàng)告訴javac 優(yōu)化由內(nèi)聯(lián)的static 、final 以及 privite成員函數(shù)所產(chǎn)生的代碼。-verbose此選項(xiàng)告知Java顯示出有關(guān)被編譯的源文件和任何 被調(diào)用類庫的信息。例如 d:userjavac - verbose將生產(chǎn)字節(jié)文件。值得注意的是,和 Java解釋器不同,Javac編譯器期望它正在編譯 的文件具有擴(kuò)展名.java 。java 解釋器Java解釋器可用來直接解釋執(zhí)行Java字節(jié)代碼,具體
13、命令行格式如下:C:java options className argumentsclassName必須包括所有軟件包信息。不僅有類名本身,還有 Java解釋器所期望的 類名(不是Java字節(jié)代碼的文件名),所有在解釋器環(huán)境下運(yùn)行的類都必須包括解釋器第一 次調(diào)用時(shí)所需的 main成員函數(shù),用以傳遞命令所帶的變量。options包括了 Java解釋器的所有選項(xiàng),如:-classpathpath此選項(xiàng)重寫CLASSPATHS境變量,告訴Java在哪里能找到類庫。如果其中用冒號(hào)分開,則可能包含多個(gè)目錄等。appletviewer 小應(yīng)用程序?yàn)g覽器appletviewer 提供了一個(gè)Java運(yùn)行環(huán)境
14、,在其中可測試小應(yīng)用程 Applet。appletviewer 讀取包含小應(yīng)用程序的HTM戊件并在一個(gè)窗口中運(yùn)行它們。其他工具詳見參考資料。1. 2小型集成視窗環(huán)境JCreator介紹JCreator是一個(gè)Java程序開發(fā)工具,也是一個(gè) Java集成開發(fā)環(huán)境(IDE)。無論你是 要開發(fā)Java應(yīng)用程序或者網(wǎng)頁上的Applet元件都難不倒它。在功能上與Sun公司所公布的JDK等文字模式開發(fā)工具相較之下來得容易,還允許使用者自訂義操作窗口界面及無限 Undo/Redo 等功能。JCreator為用戶提供了相當(dāng)強(qiáng)大的功能,例如項(xiàng)目管理功能,項(xiàng)目模板功能,可個(gè)性 化設(shè)置語法高亮屬性、行數(shù)、類瀏覽器、標(biāo)
15、簽文檔、多功能編繹器,向?qū)Чδ芤约巴耆勺?定義的用戶界面。通過JCreator ,我們不用激活主文檔而直接編繹或運(yùn)行我們的JAVA程序。JCreator能自動(dòng)找到包含主函數(shù)的文件或包含Applet的Html文件,然后它會(huì)運(yùn)行適當(dāng)?shù)墓ぞ?。在JCreator中,我們可以通過一個(gè)批處理同時(shí)編繹多個(gè)項(xiàng)目。JCreator的設(shè)計(jì)接近Windows界面風(fēng)格,用戶對(duì)它的界面比較熟悉。其最大特點(diǎn)是與我們機(jī)器中所裝的JDK完美結(jié)合,是其它任何一款I(lǐng)DE所不能比擬的。它是一種初學(xué)者很容易上手的Java開發(fā)工具,缺點(diǎn)是只能進(jìn)行簡單的程序開發(fā),不能進(jìn)行企業(yè)J2EE的開發(fā)應(yīng)用。圖1.5集成的、可視化環(huán)境 JCreat
16、orJCreator依賴JDK,它與JDK完美結(jié)合,是其它任何一款I(lǐng)DE所不能比擬的。他只有 1.9M左右,由于依賴JDK.須進(jìn)行配置才能運(yùn)行。該軟件在這里只做簡單介紹。下面一節(jié)介紹的Eclipse是我們實(shí)驗(yàn)使用的軟件平臺(tái),也是我們所推薦使用的。1. 3大型集成開發(fā)環(huán)境EclipseEclipse 是替代 舊M Visual Age for Java(以下簡稱IVJ )的下一代IDE開發(fā)環(huán)境,但它未來的目標(biāo)不僅僅是成為專門開發(fā)Java程序的IDE環(huán)境,根據(jù)Eclipse的體系結(jié)構(gòu),通過開發(fā)插件,它能擴(kuò)展到任何語言的開發(fā),甚至能成為圖片繪制的工具。目前,Eclipse已經(jīng)開始提供C語言開發(fā)的功能
17、插件。更難能可貴的是,Eclipse是一個(gè)開放源代碼的項(xiàng)目,任何人都可以下載 Eclipse的源代碼,并且在此基礎(chǔ)上開發(fā)自己的功能插件。也就是說未來 只要有人需要,就會(huì)有建立在Eclipse之上的COBOL , Perl , Python等語言的開發(fā)插件出現(xiàn)。同時(shí)可以通過開發(fā)新的插件擴(kuò)展現(xiàn)有插件的功能,比如在現(xiàn)有的Java開發(fā)環(huán)境中加入Tomcat服務(wù)器插件。可以無限擴(kuò)展,而且有著統(tǒng)一的外觀,操作和系統(tǒng)資源管理,這也正 是Eclipse的潛力所在??梢赃@樣講Eclipse是目前用過的最好的,最智能化的 Java開發(fā)軟件。它是I BMwebsphere的基礎(chǔ).Eclipse的最新版本是3 .x
18、.附帶有各種語言包.中國的用戶可以從上面下載eclipse的SdK,和中文語言包,解壓縮的同一個(gè)目錄下,就可以了。例如把它們解壓 縮到d:Eclipse3目錄下。該軟件是一個(gè)綠色軟件,如果日后象刪除,就直接刪除這個(gè)目錄 就可以了。在d:eclipse3目錄下,運(yùn)行文件就可以啟動(dòng)。進(jìn)去后就是主界面,如圖1.6。Resource - Eclipse FNdtlonnFfe Edt Wv守te Search Project Run MxfcwEclipse Platform|lhtspaqe fiet fiamlanze /ou wth me Edpse workierYh.to gerje與 Th
19、e $ecxnE beb* 3nd on tbe reUted mks. instated Featires-To Ihd out mere about de featuet nsted n yocr wcClass ,如下圖1.7所示。在隨后出現(xiàn)的對(duì)話框中,鍵入 Helle#為類名稱。在 Which method stubs would you like to create? 下面,選中“public static void main(String口 args)復(fù)選框,然后按Finish圖 1.7 New Class 定義這樣將在編輯器區(qū)域創(chuàng)建一個(gè)包含Hello類和空的main()方法的.j
20、ava文件,如下圖所示。然后向該方法添加如下代碼(注意其中i的聲明是有意省略了的):圖 1.8 編輯您會(huì)在鍵入時(shí)注意到 Eclipse 編輯器的一些特性,包括語法檢查和代碼自動(dòng)完成。當(dāng)您鍵入開括號(hào)或雙引號(hào)時(shí), Eclipse 會(huì)自動(dòng)提供配對(duì)的符號(hào),并將光標(biāo)置于符號(hào)對(duì)之內(nèi)。在其他情況下,您可以通過按Ctrl-Space 來調(diào)用代碼自動(dòng)完成功能。代碼自動(dòng)完成提供了上下文敏感的建議列表, 您可通過鍵盤或鼠標(biāo)來從列表中選擇。 這些建議可以是針對(duì)某個(gè)特定對(duì)象的方法列表, 也可以是基于不同的關(guān)鍵字 (比如 for 或 while ) 來展開的代碼片 斷。語法檢查依賴增量編譯。 每當(dāng)您保存代碼, 它就在后臺(tái)
21、接受編譯和語法檢查。 默認(rèn)情況下,語法錯(cuò)誤將以紅色下劃線顯示,一個(gè)帶白“ X” 的紅點(diǎn)將出現(xiàn)在左邊沿。其他錯(cuò)誤在編輯器的左邊沿通過燈泡狀的圖標(biāo)來指示; 這些就是編輯器或許能為您修復(fù)的問題 即所謂的 Quick Fix (快速修復(fù))特性。上面的代碼例子在 for 語句后面有一個(gè)燈泡狀圖標(biāo),因?yàn)?i 的聲明被省略了。雙擊該圖標(biāo)將調(diào)出建議的修復(fù)列表。 在此例中, 它將提供創(chuàng)建一個(gè)類字段i 、 一個(gè)局部變量i 或一個(gè)方法參數(shù)i 的建議;單擊其中的每一個(gè)建議都會(huì)顯示將要生成的代碼。圖 4 顯示了該建議列表和建議創(chuàng)建一個(gè)局部變量之后生成的代碼。圖 1.8 編輯雙擊該建議就會(huì)把建議代碼插入到代碼中的恰當(dāng)位置
22、。一旦代碼無錯(cuò)誤地編譯完成, 您就能夠從 Eclipse 菜單上選擇 Run 來執(zhí)行該程序 (注意這里不存在單獨(dú)的編譯步驟, 因?yàn)榫幾g是在您保存代碼時(shí)進(jìn)行的。 如果代碼沒有語法錯(cuò)誤,它就可以運(yùn)行了) 。這時(shí)會(huì)出現(xiàn)一個(gè)具有適當(dāng)默認(rèn)設(shè)置的 Launch Configurations 對(duì)話框;請按右上角的 Run 按鈕。一個(gè)新的選項(xiàng)卡式窗格將出現(xiàn)在下面的窗格(控制臺(tái))中,其中顯示了程序的輸出,如圖 1.10 所示。圖 1.10 運(yùn)行 HelloWorld也可以在 Java 調(diào)試器中運(yùn)行程序。首先雙擊編輯器視圖左端的灰色邊沿,從而在調(diào)用 .println() 之后的 main() .println()
23、 中設(shè)置一個(gè)斷點(diǎn)。一個(gè)藍(lán)色的點(diǎn)將會(huì)出現(xiàn)在那里。然后從 Run 菜單上選擇 Debug 。正如上面描述的,這時(shí)會(huì)出現(xiàn)一個(gè)Launch Configurations對(duì)話框。請選擇 Run 。透視圖將自動(dòng)切換到 Debug 透視圖,其中具有許多有趣的新視圖,如圖 1.11 所示:1.11 運(yùn)行 Debug 有一個(gè)工具欄,它允許您控制程序的執(zhí)行,包括繼續(xù)、掛起或終止程序、跟蹤下一個(gè)語句、首先, 請注意該透視圖左上角的 Debug視圖。 這個(gè)視圖顯示調(diào)用堆棧, 并且標(biāo)題欄中單步執(zhí)行下一個(gè)語句,或者從方法返回。右上角的窗格包含許多選項(xiàng)卡式的視圖, 包括 Variables 、 Breakpoints 、
24、Expressions 和 Display 。這里我單擊了 Variables 視圖,以便我們能夠看到 i 的當(dāng)前值??梢酝ㄟ^上下文敏感的幫助, 獲得關(guān)于這些視圖的更多信息: 單擊視圖的標(biāo)題, 然后按F11.4 Java 程序舉例Java 程序分成兩類,即 Application( 應(yīng)用程序 ) 和 Applet (小程序) 。應(yīng)用程序在計(jì)算機(jī)中單獨(dú)運(yùn)行,而小程序只能嵌在HTM眄頁中運(yùn)行。這需要一些網(wǎng)頁知識(shí)。簡單的 Java 應(yīng)用程序下面我們先介紹簡單的 Java 程序,并對(duì)其進(jìn)行分析。例 1-1 文件如下 :/public class HelloWorldApp /anapplication
25、public static void main(String args).println( Hello World!);本程序的作用是輸出下面一行信息:Hello World!程序中,首先用保留字class 來聲明一個(gè)新的類,其類名為 HelloWorldApp ,它是一個(gè)公共類 (public) 。整個(gè)類定義由大括號(hào) 括起來。在該類中定義了一個(gè)main() 方法,其中public 表示訪問權(quán)限,指明所有的類都可以使用這一方法; static 指明該方法是一個(gè)類方法,它可以通過類名直接調(diào)用; void 則指明 main() 方法不返回任何值。對(duì)于一個(gè)應(yīng)用程序來說, main() 方法是必需的,
26、而且必須按照如上的格式來定義。 Java 解釋器在沒有生成任何實(shí)例的情況下,以main() 作為入口來執(zhí)行程序。 Java 程序中可以定義多個(gè)類,每個(gè)類中可以定義多個(gè)方法, 但是最多只有有一個(gè)公共類, main() 方法也只能有一個(gè), 作為程序的入口。 main() 方法定義中的,括號(hào)() 中的 String args 是傳遞給main() 方法的參數(shù),參數(shù)名為 args , 它是類 String 的一個(gè)實(shí)例, 參數(shù)可以為0 個(gè)或多個(gè), 每個(gè)參數(shù)用“類名參數(shù)名”來指定,多個(gè)參數(shù)間用逗號(hào)分隔。在 main() 方法的實(shí)現(xiàn)( 大括號(hào)中 ) ,只有一條語句:.println( Hello World
27、!);它用來實(shí)現(xiàn)字符串的輸出,這條語句實(shí)現(xiàn)與C語言中的printf 語句和C+4 coutjavac編譯的結(jié)果是生成字節(jié)碼文件。最后用 java 解釋器來運(yùn)行該字節(jié)碼文件:d:userchap01java HelloWorldApp結(jié)果在屏幕上顯示HelloWorld!Java程序中有三種插入注釋的允許風(fēng)格:/ comment on one line/* comment on one or more line */* documenting comment */緊放在聲明(變量、方法或類的聲明)之前的文檔注釋表明,注釋應(yīng)該被放在自動(dòng)生成的 文檔中(由javadoc命令生成的HTM戊彳)以當(dāng)作對(duì)
28、聲明項(xiàng)的描述。簡單的Applet小程序例 1-2 /import .*;import t.*;public class HelloWorldApplet extends Applet /anappletpublic void paint(Graphics g)g.drawString( Hello World in Applet! ” ,20,20);這是一個(gè)簡單的 Applet(小應(yīng)用程序)。程序中,首先用import語句輸入和t下所有的 包,使得該程序可能使用這些包中所定義的類,它類似于 C中的#include 語句。然后聲明 一個(gè)公共類 HelloWorldApplet ,用extend
29、s指明它是 Applet的子類。在類中,我們重寫父 類Applet的paint()方法,其中參數(shù)g為Graphics類,它表明當(dāng)前作畫的上下文。在paint()方法中,調(diào)用 g的方法drawString(),在坐標(biāo)(20,20)處輸出字符串“ HelloWorld! ”,其 中坐標(biāo)是用象素點(diǎn)來表示的。這個(gè)程序中沒有實(shí)現(xiàn) main()方法,這是Applet與應(yīng)用程序Application( 如上例)的區(qū) 別之一。為了運(yùn)行該程序,首先我們也要把它放在文件中,然后對(duì)它進(jìn)行編譯:d:userchap01javac得到字節(jié)碼文件。由于 Applet中沒有main()方法作為Java解釋器的入口,我們必須
30、 編寫HTML件,把該Applet嵌入其中,然后用appletviewer 來運(yùn)行,或在支持Java的瀏 覽器上運(yùn)行,如IE。它的HTML文件如下:An Applet 其中用applet標(biāo)記來啟動(dòng)指明字節(jié)碼所在的文件,width和height指明applet所占的大小,我們把這個(gè) HTML件存入,然后運(yùn)行:或在IE瀏覽器中運(yùn)行(File Open Browse Ok)。從上述例子中可以看出,Java程序是由類構(gòu)成的,對(duì)于一個(gè)應(yīng)用程序來說,必須有一個(gè)類中定義main()方法,而對(duì)applet來說,它必須作為 Applet的一個(gè)子類。在類的定義 中,應(yīng)包含類變量的聲明和類中方法的實(shí)現(xiàn)。Java在基
31、本數(shù)據(jù)類型、運(yùn)算符、表達(dá)式、控制語句等方面與 C、C+理本上是相同的,但它同時(shí)也增加了一些新的內(nèi)容,在以后的各章 中,我們會(huì)詳細(xì)介紹。本節(jié)中,只是使大家對(duì)Java程序有一個(gè)初步的了解。第二部分 Java 程序設(shè)計(jì)實(shí)驗(yàn)項(xiàng)目實(shí)驗(yàn)一類/對(duì)象基礎(chǔ)知識(shí)、抽象類、接口、包的使用一、實(shí)驗(yàn)?zāi)康? 、熟練掌握類、對(duì)象的的概念以及對(duì)事物的抽象。2、熟練掌握成員、方法的概念以及構(gòu)造方法的概念。3、熟練掌握封裝性,多態(tài)性的概念。4、理解面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。5、熟練掌握抽象類 abstract、接口 interface、包package、內(nèi)部類inner class的概念。二、實(shí)驗(yàn)內(nèi)容與要求1 運(yùn)行下面的程序,理解
32、面向?qū)ο蟮某绦蛟O(shè)計(jì)方法的基本概念。class value public int x,y;public value(int a,int b) x=a; y=b;public class Ch31 public static void main(String args) int total;value num=new value(24,65);total=num.x+num.y;.println(add=+total);2、定義一個(gè)類實(shí)現(xiàn)銀行帳戶的概念,包括的變量有 帳號(hào)和存款余額,包括的方法有存 款 、 取款 、 查詢余額 和 ” 顯示帳號(hào) ” , 。定義主類,創(chuàng)建帳戶類的對(duì)象,并完成相應(yīng)操作。
33、提示:關(guān)鍵代碼如下:public int getleftmoney()return leftmoney;public void savemoney(double money) leftmoney+=money;public void getmoney(double money) if(money=leftmoney)leftmoney-=money;else.println( 只能?。?+leftmoney); bankaccount ba=new bankaccount(888123,1000);ba.savemoney(21000);.println( 存入 21000 元后余額為: +b
34、a.getleftmoney();ba.getmoney(11500);.println(11500 元后余額為: +ba.getleftmoney();3、編寫求解幾何圖形(如三角形,矩型,圓,多邊型)的周長、面積的應(yīng)用程序,要求用到繼承、多態(tài)、抽象類、接口、內(nèi)部類等面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)的特點(diǎn)。4、重寫上面的程序,要求三角形,矩型,圓,多邊型的類放到不同的包中,用包的技術(shù)組織程序的設(shè)計(jì)。同時(shí)要求程序能從鍵盤上接受數(shù)據(jù)以便求解不同的幾何圖形的周長面積。提示:從鍵盤上輸入雙精度數(shù)的一種方法(程序片段)public static void main(String args) throws IOEx
35、ceptionBufferedReader keyin=new BufferedReader(new InputStreamReader();String x;x=ine();double a=Double(x);三、實(shí)驗(yàn)報(bào)告1 、實(shí)驗(yàn)完成后,檢查是否達(dá)到試驗(yàn)?zāi)康摹?、編寫實(shí)驗(yàn)報(bào)告,實(shí)驗(yàn)報(bào)告要求書寫所編代碼,并要在關(guān)鍵代碼部分加注釋語句,隨作業(yè)一起上交。3、評(píng)出成績,按五級(jí)(A, B, C, D、E)評(píng)分。實(shí)驗(yàn)二 異常處理、 I/O 流處理一、實(shí)驗(yàn)?zāi)康?、理解什么是例外;2、掌握java 的例外處理機(jī)制和方法;3、理解流的概念,流的劃分;4、掌握文件描述,順序處理,隨機(jī)訪問處理的方法;5、能夠
36、熟練的使用過濾流;掌握字符流處理的方法;二、實(shí)驗(yàn)內(nèi)容與要求. 下面程序在編譯時(shí)會(huì)出現(xiàn)什么錯(cuò)誤? import .*;class ExceptionDemo1public static void main(String args)FileInputStream fis = newFileInputStream( “” );int b;while(b=()!=-1 .print(b);();異常分為哪兩類?如果申明 int a=new int-10; 應(yīng)屬于那類異常仔細(xì)讀下面的 JAVA 語言源程序,上機(jī)驗(yàn)證程序的運(yùn)行結(jié)果,理解File 類的使用。import .*;import .*;impor
37、t .event.*;public class Ch71 extends Frame int n;String dirname=/jdk1.4;File file=new File(dirname);String flist=new String100;Choice listFile=new Choice();TextField tf=new TextField();public Ch71()setLayout(new BorderLayout(10,10);flist=();for (n=0;nh;n+) em(flistn);add(North,listFile);add(South,tf
38、);setSize(250,200);setVisible(true);emListener(new koListener();addWindowListener(new koWindowListener();public static void main(String args) new Ch71();class koListener implements ItemListener public void itemStateChanged(ItemEvent e) String ko=(String)e.getItem();for (n=0;nh;n+)if (ko=flistn) File
39、 f=new File(file+operty(ator)+ko);if (f.isFile()=true) tf.setText(ko+ 是個(gè)文件! );if (f.isDirectory()=true)tf.setText(ko+ 是個(gè)目錄 !);class koWindowListener extends WindowAdapter public void windowClosing(WindowEvent e) dispose();(0);仔細(xì)讀下面的 JAVA 語言源程序,上機(jī)驗(yàn)證程序的運(yùn)行結(jié)果。import .*;public class testRandom2public sta
40、tic void main(String args)tryRandomAccessFile rf=new RandomAccessFile(, rw);for(int i = 0; i 10; i+)rf.writeInt(i);rf.writeDouble(i*1.414);rf.close();rf = new RandomAccessFile(, rw);rf.seek(5*(4+8);rf.writeInt(47);rf.writeDouble(47.00021);rf.close();rf = new RandomAccessFile(, r);for(int i = 0; i 10
41、; i+)J.println(Value + rf.readInt() + : + rf.readDouble();rf.close();catch(IOException e) .println(e.toString();三、實(shí)驗(yàn)報(bào)告1 、實(shí)驗(yàn)完成后,檢查是否達(dá)到試驗(yàn)?zāi)康摹?、編寫實(shí)驗(yàn)報(bào)告,實(shí)驗(yàn)報(bào)告要求書寫所編代碼,并要在關(guān)鍵代碼部分加注釋語句,隨作業(yè)一起上交。3、評(píng)出成績,按五級(jí)(A, B, C, D、E)評(píng)分。實(shí)驗(yàn)三 多線程實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康木€程的概念、線程的生命周期。多線程的編程:繼承Thread 類與使用 Runnable 接口。使用多線程機(jī)制實(shí)現(xiàn)動(dòng)畫。. 處理簡單的多線程互斥和同步;二、實(shí)驗(yàn)內(nèi)容與要求1、 仔細(xì)讀下面的 JAVA 語言源程序,自己給出程序的運(yùn)行結(jié)果public class Ch81 extends Thread int n;Ch81()Thread td=new Thread(this); td.start();public void run() for (n=0;njavac得到字節(jié)碼文件。由于Applet 中沒有 main() 方法作為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人裝修委托書
- 雙方設(shè)備合作合同范本
- 南瓜訂貨合同范例
- 斷層解剖復(fù)習(xí)題+答案
- 合伙買車合作協(xié)議合同范例
- 七年級(jí)下學(xué)期語文總結(jié)
- 兼職游泳教練合同范本
- 保潔合同范本(完美版)
- 廠里員工租房合同范本
- 《贈(zèng)劉景文》和《山行》古詩的教學(xué)反思
- 用人單位錄用職工備案表
- 下肢靜脈曲張的靜脈內(nèi)射頻消融術(shù)
- (完整版)200210號(hào)文-工程勘察設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)(2002年修訂本)
- (完整版)污水管道施工方案
- 國際法與國際爭端解決 課件全套 人大 第1-18章 導(dǎo)論、國際法淵源-國際人權(quán)法
- 新教科版四年級(jí)上冊科學(xué)全冊重點(diǎn)題型練習(xí)課件(含答案)
- 防災(zāi)減災(zāi)地質(zhì)災(zāi)害防御應(yīng)對(duì)講座培訓(xùn)課件ppt
- 2023年天津高考英語聽力試題及原文
- 火力發(fā)電廠OVATION 與西門子控制系統(tǒng)之間通訊實(shí)現(xiàn)
- 2022公務(wù)員錄用體檢操作手冊(試行)
- 電力事業(yè)部崗位職責(zé)
評(píng)論
0/150
提交評(píng)論