语言及其应用.ppt

上传人:豆**** 文档编号:59581416 上传时间:2022-11-11 格式:PPT 页数:39 大小:2.31MB
返回 下载 相关 举报
语言及其应用.ppt_第1页
第1页 / 共39页
语言及其应用.ppt_第2页
第2页 / 共39页
点击查看更多>>
资源描述

《语言及其应用.ppt》由会员分享,可在线阅读,更多相关《语言及其应用.ppt(39页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、语言及其应用语言及其应用上課用書上課用書陳會安,陳會安,Java SE6 程式設計範例程式設計範例教本,學貫出版社,教本,學貫出版社,2008年年(ISBN:978-986-6800-35-1)2請遵守智慧財產權觀念,不得非法影印請遵守智慧財產權觀念,不得非法影印教科書教科書這門課不是營養學分,歡迎大家來修,這門課不是營養學分,歡迎大家來修,但請務必投入對應的時間與精力但請務必投入對應的時間與精力3課程內容大綱課程內容大綱(1/2)Java 基礎、環境安裝與設定基礎、環境安裝與設定(書第一章書第一章)撰寫一個簡單的程式撰寫一個簡單的程式物件與類別物件與類別基本資料型態基本資料型態應用程式及繪圖

2、應用程式及繪圖判斷敘述判斷敘述重複敘述重複敘述設計類別設計類別測試與除錯測試與除錯4內容大綱內容大綱(2/2)介面與多型介面與多型(Polymorphism)事件處理事件處理繼承繼承圖形介面元件圖形介面元件例外處理例外處理(Exception Handling)資料流資料流(I/O Streams)Java 在網路通訊的應用在網路通訊的應用*5上課及評分方式上課及評分方式老師講解、討論老師講解、討論程式作業程式作業(若干次,在家自行練習或課堂中練習,視情況若干次,在家自行練習或課堂中練習,視情況實施實施)期中考試四次期中考試四次(現場上機,現場上機,17:0019:00)3/18(四四)(15

3、%)4/01(四四)(20%)4/22(四四)(20%)(14:0019:00)5/13(四四)(20%)期末考一次(現場上機,期末考一次(現場上機,14:0019:00)5/27(三三)(25%)6Java 程式語言程式語言Java是是90年代中期才開始風行的程式語言年代中期才開始風行的程式語言由由 Sun(昇陽)公司開發的一種使用在家電控(昇陽)公司開發的一種使用在家電控制的軟體技術,由制的軟體技術,由James Gosling帶領計劃開帶領計劃開發一種全新的程式語言,發一種全新的程式語言,不受硬體的限制不受硬體的限制,適適用於各種不同平台用於各種不同平台原先打算將原先打算將C+語言擴充成

4、一種新的程式語言,卻困難重重語言擴充成一種新的程式語言,卻困難重重重新創造一種新的電腦語言,發展初期並不順利重新創造一種新的電腦語言,發展初期並不順利1994年年WWW迅速成為迅速成為Internet當紅的資源服務,它們發當紅的資源服務,它們發現現Java語言在語言在WWW擁有無比的潛力擁有無比的潛力有一說法:超過有一說法:超過40%的企業在選用程式設計人才時優先的企業在選用程式設計人才時優先考慮擅長考慮擅長Java的人員的人員SCJP(Sun Certified Java Programmer)是很有用的認是很有用的認證證7Java 與與 C/C+結構上的差異結構上的差異Java 的架構與的

5、架構與C/C+雷同,雷同,除除了了:Java 的函式的函式(method)、介面介面(interface)全都包在物件中全都包在物件中Java 支援單一繼承,支援單一繼承,Java 物物件的根類別是件的根類別是 java.lang.ObjectJava 沒有前置處理器沒有前置處理器(preprocessor)Java 沒沒有指標有指標(pointer)Java 沒沒有有 goto 敘敘述,也沒有述,也沒有 struct 與與 union 語法語法Java 沒沒有多重繼承與運算子覆載有多重繼承與運算子覆載(operator overloading)Java 具具有記憶體回收有記憶體回收(garb

6、age collection)功能功能Java 具下載程式的網路功能。配合具下載程式的網路功能。配合 Web Server 及及網頁瀏覽器網頁瀏覽器的運作,可將的運作,可將 applet 自自遠端之遠端之 Web Server 下下載到本機網頁瀏載到本機網頁瀏覽器覽器上上執行,增加其應用的空間執行,增加其應用的空間Java 提提供便利的網路程式設計工具供便利的網路程式設計工具8Java 概觀概觀(1/2)跨平台跨平台:寫一份程式不需重新編譯即可在寫一份程式不需重新編譯即可在Windows、Unix、Linux甚至甚至PDA上面執行上面執行物件導向物件導向:是廣泛使用的程式規格,方便釐清和解答問

7、題是廣泛使用的程式規格,方便釐清和解答問題簡單簡單:語言本身相當聰明,去除掉了許多語言本身相當聰明,去除掉了許多C+的問題,使的問題,使得程式設計師除錯的時間大大減少得程式設計師除錯的時間大大減少功能強大功能強大:Java 語言內含大量的網路處理、語言內含大量的網路處理、I/O 處理、繪處理、繪圖等功能,而且還可以透過下載套件的方式加強功能圖等功能,而且還可以透過下載套件的方式加強功能開放開放:全世界有數以千萬計的全世界有數以千萬計的 Java 程式設計師不斷的強程式設計師不斷的強化化 Java 的功能的功能免費免費:Java 語言完全免費,甚至可以取得原始碼語言完全免費,甚至可以取得原始碼多

8、工多工動態載入動態載入安全性高安全性高:內建安全機制內建安全機制9Java 概觀概觀(2/2)原始碼原始碼.java檔案檔案編譯編譯(compile)Bytecode執行檔執行檔.class檔案檔案執行執行Java Virtual Machine10Bytecode通過編譯的通過編譯的Java執行檔執行檔(副檔名為副檔名為.class)的格式稱做的格式稱做bytecode(位元碼位元碼)Bytecode 與系統機器無關與系統機器無關(machine independent)一般一般C或或C+的程式經過編譯後,會視平台不同而有不同的程式經過編譯後,會視平台不同而有不同的格式,因此不能跨平台。而的

9、格式,因此不能跨平台。而bytecode不論在任何平台不論在任何平台上格式都一樣,所以可以跨平台上格式都一樣,所以可以跨平台11Java 虛擬機器虛擬機器一般程式一般程式硬體硬體作業系統作業系統硬體硬體作業系統作業系統JVMJava 程式程式Java 程式能夠執行的最關鍵的環節就是程式能夠執行的最關鍵的環節就是Java 虛擬機器虛擬機器(Java Virtual Machine,JVM)編譯好的編譯好的 Java 執行檔並不能直接執行,而是必須交由執行檔並不能直接執行,而是必須交由JVM 解譯解譯(interpret)並執行並執行不同的平台必須有不同的不同的平台必須有不同的 JVM,因此,因此

10、bytecode可以跨平可以跨平台,但台,但 JVM 不能跨平台不能跨平台12Java 的特色:跨平台的特色:跨平台PCUNIXMacJava 程式程式CompileJavaBytecodeJava VMFor PCJava VMFor UNIXJava VMFor MacintoshWrite Once,Run Anywhere(WORA)13Java 的特色:物件導向的特色:物件導向(1/3)什麼是物件導向什麼是物件導向(Object-Oriented)不使用物件導向(程序導向)描述不使用物件導向(程序導向)描述青椒炒豆腐青椒炒豆腐 取出青椒取出青椒 500 g,用刀切成細絲,過油,用刀切

11、成細絲,過油 取出豆腐取出豆腐 300 g,切丁,用醬油、酒、,切丁,用醬油、酒、黑醋醃製黑醋醃製 30 分鐘分鐘 起油鍋、放入豆腐炒及青椒大火快炒起油鍋、放入豆腐炒及青椒大火快炒 1 分半分半 拿出太白粉、水調在一起,這個稱為拿出太白粉、水調在一起,這個稱為 芡汁芡汁 將芡汁倒入鍋中攪拌,會產生黏稠現象將芡汁倒入鍋中攪拌,會產生黏稠現象 這叫芶芡這叫芶芡完成完成使用物件導向描述一件事使用物件導向描述一件事青椒炒豆腐青椒炒豆腐 青椒青椒 數量數量:500 g 處理處理:用刀切成細絲,過油:用刀切成細絲,過油 豆腐豆腐 數量數量:300 g 處理處理:切丁,用醬油、酒、黑醋醃製:切丁,用醬油、酒

12、、黑醋醃製 芡汁芡汁 製作製作:太白粉調上適量的水:太白粉調上適量的水 芶芡芶芡:將芡汁倒入鍋中:將芡汁倒入鍋中 青椒青椒處理處理好、好、豆腐豆腐處理處理好、好、芡汁芡汁製作製作好,好,放入鍋中快炒放入鍋中快炒 1 分半後用分半後用芡汁芡汁芶芡芶芡即可。即可。14Java 的特色:物件導向的特色:物件導向(2/3)什麼是物件導向什麼是物件導向先定義好參與這件事的先定義好參與這件事的物品物品有哪些有哪些(這些這些物品物品叫做叫做“物件物件”)再定義這些物品所需的再定義這些物品所需的數量數量及及行為行為(這些這些數量數量及及行為行為叫做叫做“屬性屬性”與與“方法方法”)接下來就可用物品間的互動行為

13、接下來就可用物品間的互動行為來描述整件事情是如何發生的。來描述整件事情是如何發生的。(這部份的描述稱為這部份的描述稱為“主程式主程式”)青椒炒豆腐青椒炒豆腐 青椒青椒 數量數量:500 g 處理處理:用刀切成細絲,過油:用刀切成細絲,過油 豆腐豆腐 數量數量:300 g 處理處理:切丁,用醬油、酒、黑醋醃製:切丁,用醬油、酒、黑醋醃製 芡汁芡汁 製作製作:太白粉調上適量的水:太白粉調上適量的水 芶芡芶芡:將芡汁倒入鍋中:將芡汁倒入鍋中 青椒青椒處理處理好、好、豆腐豆腐處理處理好、好、芡汁芡汁製作製作好,好,放入鍋中快炒放入鍋中快炒 1 分半後用分半後用芡汁芡汁芶芡芶芡即可。即可。15Java

14、的特色:物件導向的特色:物件導向(3/3)Java 使用使用“類別類別”(Class)來實作物件的概念來實作物件的概念class 青椒炒肉絲青椒炒肉絲 青椒青椒處理處理好好 豆腐豆腐處理處理好好 芡汁芡汁製作製作好好 青椒青椒+豆腐豆腐炒炒 1 分半分半 用用芡汁芡汁芶芡芶芡即可即可主程式物件主程式物件class 青椒青椒 數量數量=500 g 處理法處理法 青椒物件青椒物件class 豆腐豆腐 數量數量=300 g 處理法處理法 豆腐物件豆腐物件class 芡汁芡汁 製作法製作法 芶芡法芶芡法 芡汁物件芡汁物件16程序式程式語言程序式程式語言物件導向程式語言物件導向程式語言Function1

15、(a,b)Function3()Function2(c)Function4(a,b)OBJ1OBJ3OBJ2Java 的特色:物件導向的特色:物件導向 vs.程序導向程式語言程序導向程式語言17Java 的特色:多工的特色:多工(1/2)何謂多工何謂多工(Multi-tasking)可將一個程式分成數份,可將一個程式分成數份,讓各部份能同時被執行讓各部份能同時被執行18Java 的特色:多工的特色:多工(2/2)Java 利用利用“執行緒執行緒”(Thread)來實作多工來實作多工執行緒執行緒 1執行緒執行緒 2執行緒執行緒 319Java 的特色:動態載入的特色:動態載入其它語言其它語言程式

16、開始執行後所有物件就一起載入。程式開始執行後所有物件就一起載入。一旦開始執行,就無法做出任何變更。一旦開始執行,就無法做出任何變更。Java 語言語言當需要某個物件時,才將該物件載入。當需要某個物件時,才將該物件載入。這種特質,讓動態抽換物件變得可能。這種特質,讓動態抽換物件變得可能。20Java 的特色:穩固性的特色:穩固性Java 沒有記憶體指標沒有記憶體指標(pointer)Java 資料型別的轉換有十分嚴格的檢查資料型別的轉換有十分嚴格的檢查Java 提供例外處理的機制來防護當程式發生錯誤時的破提供例外處理的機制來防護當程式發生錯誤時的破壞情況壞情況21Java 的特色:具自動記憶體管

17、理功能的特色:具自動記憶體管理功能Java不提供類似不提供類似 C 中中 malloc()及及 free()之函數之函數 利用利用 new()產生新物件,程式設計師不必擔心何時應收產生新物件,程式設計師不必擔心何時應收回無用的記憶體空間回無用的記憶體空間Java 之執行系統會執行之執行系統會執行 garbage collection,自動回收已不再自動回收已不再使用的物件使用的物件22Java 開發工具開發工具(Java Development Kit,JDK)http:/ 開發工具開發工具(Java Development Kit,JDK)24選擇正確套件選擇正確套件NetBean IDE(

18、Integrated Development Environment)JDK(Java Development Kit)JRE(Java RuntimeEnvironment)Java VM(JVM)JavaRuntimeClassesJavaDocs25安裝安裝JDK詳細安裝步驟另見詳細安裝步驟另見http:/csm00.csu.edu.tw/0024/javaclass/unit1/java2/java_install.htm從從 下載下載MS Windows 平台使用平台使用Unix/LinuxMac OS安裝安裝設定環境變數設定環境變數(見下下頁見下下頁)26JDK 的主要內容的主要內

19、容javac.exe Java compiler(編譯器編譯器)用來將用來將Java的原始碼編譯成為的原始碼編譯成為 bytecodejava.exe Java interpreter(解譯器解譯器)用來執行用來執行 bytecode,實際上即為實際上即為 JVMappletviewer Java applet 瀏覽器瀏覽器javadoc.exe 文件產生器文件產生器用來自動產生原始碼的說明文件用來自動產生原始碼的說明文件jdb Java debugger(除錯器除錯器)javah C 標頭產生器標頭產生器javap Java 反組譯器反組譯器classes.zipsrc.zip272829加

20、入;.;c:Program FilesJavajdk1.6.0_03bin30執行範例:執行範例:“Hello world”可使用任何編輯器撰寫下列程式碼可使用任何編輯器撰寫下列程式碼 public class hello public static void main(String args)System.out.println(“Hello world.”);以以hello.java為檔名儲存為檔名儲存執行文字的主的執行文字的主的(命令列命令列)功能功能鍵盤敲入鍵盤敲入 javac hello.java接著你可以在相同的路徑上看到一名為接著你可以在相同的路徑上看到一名為 hello.cla

21、ss 的檔案的檔案鍵盤敲入鍵盤敲入 java hello(執行執行 hello.class)在此檔案中找出在此檔案中找出“public static void main(String arg)”這這個方法並且從這裡開始個方法並且從這裡開始啟動啟動 JVM,把,把class放在裡面並執行放在裡面並執行結束結束 JVM3132使用提示命令字元使用提示命令字元3334Java 歷代版本沿革歷代版本沿革Java 1.0Java 1.1Java 1.2Java 1.3Java 1.4Java 1.5(Java 5.0)Java 1Java 235Java 套餐套餐(Package)Java SE(Sta

22、ndard Edition)Java EE(Enterprise Edition)Java ME(Micro Edition)同一個版本的同一個版本的 Java,又分為三種套餐,又分為三種套餐標準版標準版適用於開發用戶端程式適用於開發用戶端程式企業版企業版適用於開發伺服器端程式適用於開發伺服器端程式手持設備版手持設備版適用於開發手機、適用於開發手機、無線設無線設備備程式程式Jini(超微小型用超微小型用)(與與Genie同音同音)可運用於超微小世界可運用於超微小世界(如資料與科學如資料與科學 之奈米設計之奈米設計)之相關設計,適合於研之相關設計,適合於研 發與學界之理論探索發與學界之理論探索3

23、6應知的幾個名詞應知的幾個名詞Java applicationJava application 與一般獨立執行的應用程式並沒有什麼不同與一般獨立執行的應用程式並沒有什麼不同一定有一定有 main()主程式主程式能在各種平台之能在各種平台之 JVM 上執行上執行Java applet一小程式可附予其它程式(譬如網頁瀏覽器)一些功能一小程式可附予其它程式(譬如網頁瀏覽器)一些功能可視為在網頁瀏覽程式中執行的應用程式可視為在網頁瀏覽程式中執行的應用程式需有支援需有支援 java 之瀏覽器方能執行之瀏覽器方能執行一定要繼承自一定要繼承自 java.applet.Applet 類別類別ServletSe

24、rvlet 則是可在則是可在 Web Server 上動態執行的上動態執行的 Java 程式程式Java Servlet 與與 Java applet 最大的不同在前者不具圖形化人機最大的不同在前者不具圖形化人機介面介面37Java 的潛在缺點的潛在缺點速度稍慢速度稍慢一個沒有經過謹慎設計的一個沒有經過謹慎設計的Java程式,執行速度比同樣未經謹慎程式,執行速度比同樣未經謹慎設計的設計的C程式要慢,但經過謹慎設計之後效率可以大幅提昇程式要慢,但經過謹慎設計之後效率可以大幅提昇較耗資源較耗資源因為額外加上一個因為額外加上一個JVM,會額外浪費一些系統資源,但是經過謹會額外浪費一些系統資源,但是經過謹慎設計可以大幅改善慎設計可以大幅改善38未參加課後練習的成績計算方式未參加課後練習的成績計算方式將依期中考或期末考的表現等比例推算。例如:設某次練習滿分將依期中考或期末考的表現等比例推算。例如:設某次練習滿分為為 x 分,而該同學在期中考所得為分,而該同學在期中考所得為 y 分分(滿分為滿分為 z),則缺席的這,則缺席的這次練習所得分數將以次練習所得分數將以(y/z)*x 計算計算39

展开阅读全文
相关资源
相关搜索

当前位置:首页 > pptx模板 > 企业培训

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com