




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Java 語言及其應(yīng)用 1第1頁,共39頁。上課用書陳會(huì)安,Java SE6 程式設(shè)計(jì)範(fàn)例教本,學(xué)貫出版社,2008年 (ISBN: 978-986-6800-35-1) 2第2頁,共39頁。請(qǐng)遵守智慧財(cái)產(chǎn)權(quán)觀念,不得非法影印教科書這門課不是營養(yǎng)學(xué)分,歡迎大家來修,但請(qǐng)務(wù)必投入對(duì)應(yīng)的時(shí)間與精力3第3頁,共39頁。課程內(nèi)容大綱 (1/2)Java 基礎(chǔ)、環(huán)境安裝與設(shè)定 (書第一章)撰寫一個(gè)簡單的程式物件與類別基本資料型態(tài)應(yīng)用程式及繪圖判斷敘述重複敘述設(shè)計(jì)類別測(cè)試與除錯(cuò)4第4頁,共39頁。內(nèi)容大綱 (2/2)介面與多型 (Polymorphism)事件處理繼承圖形介面元件例外處理 (Excepti
2、on Handling)資料流 (I/O Streams)Java 在網(wǎng)路通訊的應(yīng)用*5第5頁,共39頁。上課及評(píng)分方式老師講解、討論程式作業(yè) (若干次,在家自行練習(xí)或課堂中練習(xí),視情況實(shí)施)期中考試四次 (現(xiàn)場上機(jī),17:0019:00)3/18 (四) (15%)4/01 (四) (20%)4/22 (四) (20%) (14:0019:00)5/13 (四) (20%) 期末考一次(現(xiàn)場上機(jī),14:0019:00)5/27 (三) (25%)6第6頁,共39頁。Java 程式語言Java是90年代中期才開始風(fēng)行的程式語言由 Sun(昇陽)公司開發(fā)的一種使用在家電控制的軟體技術(shù),由Jame
3、s Gosling帶領(lǐng)計(jì)劃開發(fā)一種全新的程式語言,不受硬體的限制,適用於各種不同平臺(tái)原先打算將C+語言擴(kuò)充成一種新的程式語言,卻困難重重重新創(chuàng)造一種新的電腦語言,發(fā)展初期並不順利1994年WWW迅速成為Internet當(dāng)紅的資源服務(wù),它們發(fā)現(xiàn)Java語言在WWW擁有無比的潛力有一說法:超過40%的企業(yè)在選用程式設(shè)計(jì)人才時(shí)優(yōu)先考慮擅長Java的人員SCJP(Sun Certified Java Programmer)是很有用的認(rèn)證7第7頁,共39頁。Java 與 C/C+ 結(jié)構(gòu)上的差異Java 的架構(gòu)與C/C+雷同,除了: Java 的函式 (method)、介面 (interface)全都包在
4、物件中Java 支援單一繼承,Java 物件的根類別是 java.lang.ObjectJava 沒有前置處理器 (preprocessor)Java 沒有指標(biāo) (pointer)Java 沒有 goto 敘述,也沒有 struct 與 union 語法Java 沒有多重繼承與運(yùn)算子覆載 (operator overloading)Java 具有記憶體回收(garbage collection) 功能Java 具下載程式的網(wǎng)路功能。配合 Web Server 及網(wǎng)頁瀏覽器的運(yùn)作,可將 applet 自遠(yuǎn)端之 Web Server 下載到本機(jī)網(wǎng)頁瀏覽器上執(zhí)行,增加其應(yīng)用的空間Java 提供便利的
5、網(wǎng)路程式設(shè)計(jì)工具8第8頁,共39頁。Java 概觀 (1/2)跨平臺(tái): 寫一份程式不需重新編譯即可在Windows、Unix、Linux甚至PDA上面執(zhí)行物件導(dǎo)向: 是廣泛使用的程式規(guī)格,方便釐清和解答問題簡單: 語言本身相當(dāng)聰明,去除掉了許多C+的問題,使得程式設(shè)計(jì)師除錯(cuò)的時(shí)間大大減少功能強(qiáng)大: Java 語言內(nèi)含大量的網(wǎng)路處理、I/O 處理、繪圖等功能,而且還可以透過下載套件的方式加強(qiáng)功能開放: 全世界有數(shù)以千萬計(jì)的 Java 程式設(shè)計(jì)師不斷的強(qiáng)化 Java 的功能免費(fèi): Java 語言完全免費(fèi),甚至可以取得原始碼多工動(dòng)態(tài)載入安全性高: 內(nèi)建安全機(jī)制9第9頁,共39頁。Java 概觀 (2
6、/2)原始碼.java檔案編譯(compile)Bytecode執(zhí)行檔.class檔案執(zhí)行Java Virtual Machine10第10頁,共39頁。Bytecode通過編譯的Java執(zhí)行檔(副檔名為.class)的格式稱做bytecode (位元碼)Bytecode 與系統(tǒng)機(jī)器無關(guān) (machine independent)一般C或C+的程式經(jīng)過編譯後,會(huì)視平臺(tái)不同而有不同的格式,因此不能跨平臺(tái)。而bytecode不論在任何平臺(tái)上格式都一樣,所以可以跨平臺(tái)11第11頁,共39頁。Java 虛擬機(jī)器一般程式硬體作業(yè)系統(tǒng)硬體作業(yè)系統(tǒng)JVMJava 程式Java 程式能夠執(zhí)行的最關(guān)鍵的環(huán)節(jié)就是
7、Java 虛擬機(jī)器(Java Virtual Machine, JVM)編譯好的 Java 執(zhí)行檔並不能直接執(zhí)行,而是必須交由JVM 解譯 (interpret) 並執(zhí)行不同的平臺(tái)必須有不同的 JVM,因此bytecode可以跨平臺(tái),但 JVM 不能跨平臺(tái)12第12頁,共39頁。Java 的特色:跨平臺(tái)PCUNIXMacJava 程式CompileJavaBytecodeJava VMFor PCJava VMFor UNIXJava VMFor MacintoshWrite Once, Run Anywhere (WORA)13第13頁,共39頁。Java 的特色:物件導(dǎo)向 (1/3)什麼是
8、物件導(dǎo)向(Object-Oriented)不使用物件導(dǎo)向(程序?qū)颍┟枋銮嘟烦炊垢?取出青椒 500 g,用刀切成細(xì)絲,過油 取出豆腐 300 g,切丁,用醬油、酒、 黑醋醃製 30 分鐘 起油鍋、放入豆腐炒及青椒大火快炒 1 分半 拿出太白粉、水調(diào)在一起,這個(gè)稱為 芡汁 將芡汁倒入鍋中攪拌,會(huì)產(chǎn)生黏稠現(xiàn)象 這叫芶芡完成使用物件導(dǎo)向描述一件事青椒炒豆腐 青椒 數(shù)量:500 g 處理:用刀切成細(xì)絲,過油 豆腐 數(shù)量:300 g 處理:切丁,用醬油、酒、黑醋醃製 芡汁 製作:太白粉調(diào)上適量的水 芶芡:將芡汁倒入鍋中 青椒處理好、豆腐處理好、芡汁製作好, 放入鍋中快炒 1 分半後用芡汁芶芡即可。14
9、第14頁,共39頁。Java 的特色:物件導(dǎo)向 (2/3)什麼是物件導(dǎo)向先定義好參與這件事的物品有哪些(這些物品叫做 “物件”)再定義這些物品所需的數(shù)量及行為(這些數(shù)量及行為叫做“屬性”與“方法”)接下來就可用物品間的互動(dòng)行為來描述整件事情是如何發(fā)生的。(這部份的描述稱為“主程式”)青椒炒豆腐 青椒 數(shù)量:500 g 處理:用刀切成細(xì)絲,過油 豆腐 數(shù)量:300 g 處理:切丁,用醬油、酒、黑醋醃製 芡汁 製作:太白粉調(diào)上適量的水 芶芡:將芡汁倒入鍋中 青椒處理好、豆腐處理好、芡汁製作好, 放入鍋中快炒 1 分半後用芡汁芶芡即可。15第15頁,共39頁。Java 的特色:物件導(dǎo)向 (3/3)J
10、ava 使用 “類別” (Class) 來實(shí)作物件的概念class 青椒炒肉絲 青椒處理好 豆腐處理好 芡汁製作好 青椒 + 豆腐炒 1 分半 用芡汁芶芡即可主程式物件class 青椒 數(shù)量 = 500 g 處理法 青椒物件class 豆腐 數(shù)量 = 300 g 處理法 豆腐物件class 芡汁 製作法 芶芡法 芡汁物件16第16頁,共39頁。程序式程式語言物件導(dǎo)向程式語言Function1(a,b)Function3()Function2(c)Function4(a,b)OBJ1OBJ3OBJ2Java 的特色:物件導(dǎo)向 vs. 程序?qū)虺淌秸Z言17第17頁,共39頁。Java 的特色:多工
11、 (1/2)何謂多工 (Multi-tasking)可將一個(gè)程式分成數(shù)份,讓各部份能同時(shí)被執(zhí)行18第18頁,共39頁。Java 的特色:多工 (2/2)Java 利用 “執(zhí)行緒” (Thread) 來實(shí)作多工執(zhí)行緒 1執(zhí)行緒 2執(zhí)行緒 319第19頁,共39頁。Java 的特色:動(dòng)態(tài)載入其它語言程式開始執(zhí)行後所有物件就一起載入。一旦開始執(zhí)行,就無法做出任何變更。Java 語言當(dāng)需要某個(gè)物件時(shí),才將該物件載入。這種特質(zhì),讓動(dòng)態(tài)抽換物件變得可能。20第20頁,共39頁。Java 的特色:穩(wěn)固性Java 沒有記憶體指標(biāo) (pointer)Java 資料型別的轉(zhuǎn)換有十分嚴(yán)格的檢查Java 提供例外處理
12、的機(jī)制來防護(hù)當(dāng)程式發(fā)生錯(cuò)誤時(shí)的破壞情況21第21頁,共39頁。Java 的特色:具自動(dòng)記憶體管理功能Java不提供類似 C 中 malloc ( ) 及 free( ) 之函數(shù) 利用 new( ) 產(chǎn)生新物件,程式設(shè)計(jì)師不必?fù)?dān)心何時(shí)應(yīng)收回?zé)o用的記憶體空間Java 之執(zhí)行系統(tǒng)會(huì)執(zhí)行 garbage collection,自動(dòng)回收已不再使用的物件22第22頁,共39頁。Java 開發(fā)工具 (Java Development Kit, JDK)/網(wǎng)址23第23頁,共39頁。Java 開發(fā)工具 (Java Development Kit, JDK)24第24頁,共39頁。選擇正確套件NetBean I
13、DE (Integrated Development Environment)JDK (Java Development Kit)JRE (Java RuntimeEnvironment)Java VM(JVM)JavaRuntimeClassesJavaDocs25第25頁,共39頁。安裝JDK詳細(xì)安裝步驟另見.tw/0024/javaclass/unit1/java2/java_install.htm從 下載MS Windows 平臺(tái)使用Unix/LinuxMac OS安裝設(shè)定環(huán)境變數(shù) (見下下頁)26第26頁,共39頁。JDK 的主要內(nèi)容javac.exe Java compiler (
14、編譯器)用來將Java的原始碼編譯成為 bytecodejava.exe Java interpreter (解譯器)用來執(zhí)行 bytecode,實(shí)際上即為 JVMappletviewer Java applet 瀏覽器javadoc.exe 文件產(chǎn)生器用來自動(dòng)產(chǎn)生原始碼的說明文件jdb Java debugger (除錯(cuò)器)javah C 標(biāo)頭產(chǎn)生器javap Java 反組譯器classes.zipsrc.zip27第27頁,共39頁。28第28頁,共39頁。29第29頁,共39頁。加入 ;.;c:Program FilesJavajdk1.6.0_03bin30第30頁,共39頁。執(zhí)行範(fàn)
15、例:“Hello world”可使用任何編輯器撰寫下列程式碼 public class hello public static void main(String args) System.out.println(“Hello world.”); 以hello.java為檔名儲(chǔ)存執(zhí)行文字的主的(命令列)功能鍵盤敲入 javac hello.java接著你可以在相同的路徑上看到一名為 hello.class 的檔案鍵盤敲入 java hello (執(zhí)行 hello.class)在此檔案中找出“public static void main(String arg)” 這個(gè)方法並且從這裡開始啟動(dòng) JV
16、M,把class放在裡面並執(zhí)行結(jié)束 JVM31第31頁,共39頁。32第32頁,共39頁。使用提示命令字元33第33頁,共39頁。34第34頁,共39頁。Java 歷代版本沿革Java 1.0Java 1.1Java 1.2Java 1.3Java 1.4Java 1.5 (Java 5.0)Java 1Java 235第35頁,共39頁。Java 套餐 (Package)Java SE(Standard Edition)Java EE(Enterprise Edition)Java ME(Micro Edition)同一個(gè)版本的 Java,又分為三種套餐標(biāo)準(zhǔn)版適用於開發(fā)用戶端程式企業(yè)版適用於
17、開發(fā)伺服器端程式手持設(shè)備版適用於開發(fā)手機(jī)、無線設(shè)備程式Jini (超微小型用) (與Genie同音) 可運(yùn)用於超微小世界(如資料與科學(xué) 之奈米設(shè)計(jì))之相關(guān)設(shè)計(jì),適合於研 發(fā)與學(xué)界之理論探索36第36頁,共39頁。應(yīng)知的幾個(gè)名詞Java applicationJava application 與一般獨(dú)立執(zhí)行的應(yīng)用程式並沒有什麼不同一定有 main( ) 主程式能在各種平臺(tái)之 JVM 上執(zhí)行Java applet一小程式可附予其它程式(譬如網(wǎng)頁瀏覽器)一些功能可視為在網(wǎng)頁瀏覽程式中執(zhí)行的應(yīng)用程式需有支援 java 之瀏覽器方能執(zhí)行一定要繼承自 java.applet.Applet 類別ServletServlet 則是可在 Web Server 上動(dòng)態(tài)執(zhí)行的 Java 程式Java Servlet 與 Ja
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 供貨茶葉合同范本
- 包裝食品配送合同范例
- 合作擔(dān)保合同范例
- 合租合同范本
- 化肥合作協(xié)議合同范本
- 廠房使用合同范例
- 人工勞務(wù)合同范本封皮
- 個(gè)人汽車采購合同范本
- 企業(yè)業(yè)務(wù)合同范本
- 合同范本征求意見
- 診所校驗(yàn)現(xiàn)場審核表
- 2024屆安徽省安慶市高三下學(xué)期二模化學(xué)試題及答案
- 電影活著展示課件
- 改變學(xué)習(xí)方式促進(jìn)學(xué)生發(fā)展結(jié)題報(bào)告
- 中國常見食物營養(yǎng)成分表
- 09J202-1 坡屋面建筑構(gòu)造(一)-2
- 金嗓子喉片行業(yè)分析
- 電導(dǎo)率對(duì)應(yīng)鹽水濃度表
- OCT基礎(chǔ)知識(shí)課件
- 起重機(jī)械培訓(xùn)
- 大模型在教育科技中的應(yīng)用
評(píng)論
0/150
提交評(píng)論