语言及其应用课件_第1页
语言及其应用课件_第2页
语言及其应用课件_第3页
语言及其应用课件_第4页
语言及其应用课件_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1上課用書陳會安,Java SE6 程式設計範例教本,學貫出版社,2008年 (ISBN: 978-986-6800-35-1) 牛牛文库文档分享2請遵守智慧財產權觀念,不得非法影印教科書這門課不是營養學分,歡迎大家來修,但請務必投入對應的時間與精力 牛牛文库文档分享3課程內容大綱 (1/2)Java 基礎、環境安裝與設定 (書第一章)撰寫一個簡單的程式物件與類別基本資料型態應用程式及繪圖判斷敘述重複敘述設計類別測試與除錯 牛牛文库文档分享4內容大綱 (2/2)介面與多型 (Polymorphism)事件處理繼承圖形介面元件例外處理 (Exception Handling)資料流 (I/O S

2、treams)Java 在網路通訊的應用* 牛牛文库文档分享5上課及評分方式老師講解、討論程式作業 (若干次,在家自行練習或課堂中練習,視情況實施)期中考試四次 (現場上機,17:0019:00)3/18 (四) (15%)4/01 (四) (20%)4/22 (四) (20%) (14:0019:00)5/13 (四) (20%) 期末考一次(現場上機,14:0019:00)5/27 (三) (25%) 牛牛文库文档分享6Java 程式語言Java是90年代中期才開始風行的程式語言由 Sun(昇陽)公司開發的一種使用在家電控制的軟體技術,由James Gosling帶領計劃開發一種全新的程式

3、語言,不受硬體的限制,適用於各種不同平台原先打算將C+語言擴充成一種新的程式語言,卻困難重重重新創造一種新的電腦語言,發展初期並不順利1994年WWW迅速成為Internet當紅的資源服務,它們發現Java語言在WWW擁有無比的潛力有一說法:超過40%的企業在選用程式設計人才時優先考慮擅長Java的人員SCJP(Sun Certified Java Programmer)是很有用的認證 牛牛文库文档分享7Java 與 C/C+ 結構上的差異Java 的架構與C/C+雷同,除了: Java 的函式 (method)、介面 (interface)全都包在物件中Java 支援單一繼承,Java 物件

4、的根類別是 java.lang.ObjectJava 沒有前置處理器 (preprocessor)Java 沒有指標 (pointer)Java 沒有 goto 敘述,也沒有 struct 與 union 語法Java 沒有多重繼承與運算子覆載 (operator overloading)Java 具有記憶體回收(garbage collection) 功能Java 具下載程式的網路功能。配合 Web Server 及網頁瀏覽器的運作,可將 applet 自遠端之 Web Server 下載到本機網頁瀏覽器上執行,增加其應用的空間Java 提供便利的網路程式設計工具 牛牛文库文档分享8Java

5、 概觀 (1/2)跨平台: 寫一份程式不需重新編譯即可在Windows、Unix、Linux甚至PDA上面執行物件導向: 是廣泛使用的程式規格,方便釐清和解答問題簡單: 語言本身相當聰明,去除掉了許多C+的問題,使得程式設計師除錯的時間大大減少功能強大: Java 語言內含大量的網路處理、I/O 處理、繪圖等功能,而且還可以透過下載套件的方式加強功能開放: 全世界有數以千萬計的 Java 程式設計師不斷的強化 Java 的功能免費: Java 語言完全免費,甚至可以取得原始碼多工動態載入安全性高: 內建安全機制 牛牛文库文档分享9Java 概觀 (2/2)原始碼.java檔案編譯(compil

6、e)Bytecode執行檔.class檔案執行Java Virtual Machine 牛牛文库文档分享10Bytecode通過編譯的Java執行檔(副檔名為.class)的格式稱做bytecode (位元碼)Bytecode 與系統機器無關 (machine independent)一般C或C+的程式經過編譯後,會視平台不同而有不同的格式,因此不能跨平台。而bytecode不論在任何平台上格式都一樣,所以可以跨平台 牛牛文库文档分享11Java 虛擬機器一般程式硬體作業系統硬體作業系統JVMJava 程式Java 程式能夠執行的最關鍵的環節就是Java 虛擬機器(Java Virtual M

7、achine, JVM)編譯好的 Java 執行檔並不能直接執行,而是必須交由JVM 解譯 (interpret) 並執行不同的平台必須有不同的 JVM,因此bytecode可以跨平台,但 JVM 不能跨平台 牛牛文库文档分享12Java 的特色:跨平台PCUNIXMacJava 程式CompileJavaBytecodeJava VMFor PCJava VMFor UNIXJava VMFor MacintoshWrite Once, Run Anywhere (WORA) 牛牛文库文档分享13Java 的特色:物件導向 (1/3)什麼是物件導向(Object-Oriented)不使用物件

8、導向(程序導向)描述青椒炒豆腐 取出青椒 500 g,用刀切成細絲,過油 取出豆腐 300 g,切丁,用醬油、酒、 黑醋醃製 30 分鐘 起油鍋、放入豆腐炒及青椒大火快炒 1 分半 拿出太白粉、水調在一起,這個稱為 芡汁 將芡汁倒入鍋中攪拌,會產生黏稠現象 這叫芶芡完成使用物件導向描述一件事青椒炒豆腐 青椒 數量:500 g 處理:用刀切成細絲,過油 豆腐 數量:300 g 處理:切丁,用醬油、酒、黑醋醃製 芡汁 製作:太白粉調上適量的水 芶芡:將芡汁倒入鍋中 青椒處理好、豆腐處理好、芡汁製作好, 放入鍋中快炒 1 分半後用芡汁芶芡即可。 牛牛文库文档分享14Java 的特色:物件導向 (2/

9、3)什麼是物件導向先定義好參與這件事的物品有哪些(這些物品叫做 “物件”)再定義這些物品所需的數量及行為(這些數量及行為叫做“屬性”與“方法”)接下來就可用物品間的互動行為來描述整件事情是如何發生的。(這部份的描述稱為“主程式”)青椒炒豆腐 青椒 數量:500 g 處理:用刀切成細絲,過油 豆腐 數量:300 g 處理:切丁,用醬油、酒、黑醋醃製 芡汁 製作:太白粉調上適量的水 芶芡:將芡汁倒入鍋中 青椒處理好、豆腐處理好、芡汁製作好, 放入鍋中快炒 1 分半後用芡汁芶芡即可。 牛牛文库文档分享15Java 的特色:物件導向 (3/3)Java 使用 “類別” (Class) 來實作物件的概念

10、class 青椒炒肉絲 青椒處理好 豆腐處理好 芡汁製作好 青椒 + 豆腐炒 1 分半 用芡汁芶芡即可主程式物件class 青椒 數量 = 500 g 處理法 青椒物件class 豆腐 數量 = 300 g 處理法 豆腐物件class 芡汁 製作法 芶芡法 芡汁物件 牛牛文库文档分享16程序式程式語言物件導向程式語言Function1(a,b)Function3()Function2(c)Function4(a,b)OBJ1OBJ3OBJ2Java 的特色:物件導向 vs. 程序導向程式語言 牛牛文库文档分享17Java 的特色:多工 (1/2)何謂多工 (Multi-tasking)可將一個

11、程式分成數份,讓各部份能同時被執行 牛牛文库文档分享18Java 的特色:多工 (2/2)Java 利用 “執行緒” (Thread) 來實作多工執行緒 1執行緒 2執行緒 3 牛牛文库文档分享19Java 的特色:動態載入其它語言程式開始執行後所有物件就一起載入。一旦開始執行,就無法做出任何變更。Java 語言當需要某個物件時,才將該物件載入。這種特質,讓動態抽換物件變得可能。 牛牛文库文档分享20Java 的特色:穩固性Java 沒有記憶體指標 (pointer)Java 資料型別的轉換有十分嚴格的檢查Java 提供例外處理的機制來防護當程式發生錯誤時的破壞情況 牛牛文库文档分享21Jav

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

13、t)JDK (Java Development Kit)JRE (Java RuntimeEnvironment)Java VM(JVM)JavaRuntimeClassesJavaDocs 牛牛文库文档分享25安裝JDK詳細安裝步驟另見.tw/0024/javaclass/unit1/java2/java_install.htm從 下載MS Windows 平台使用Unix/LinuxMac OS安裝設定環境變數 (見下下頁) 牛牛文库文档分享26JDK 的主要內容javac.exe Java compiler (編譯器)用來將Java的原始碼編譯成為 bytecodejava.exe Ja

14、va interpreter (解譯器)用來執行 bytecode,實際上即為 JVMappletviewer Java applet 瀏覽器javadoc.exe 文件產生器用來自動產生原始碼的說明文件jdb Java debugger (除錯器)javah C 標頭產生器javap Java 反組譯器classes.zipsrc.zip 牛牛文库文档分享27 牛牛文库文档分享28 牛牛文库文档分享29加入 ;.;c:Program FilesJavajdk1.6.0_03bin 牛牛文库文档分享30執行範例:“Hello world”可使用任何編輯器撰寫下列程式碼 public class

15、 hello public static void main(String args) System.out.println(“Hello world.”); 以hello.java為檔名儲存執行文字的主的(命令列)功能鍵盤敲入 javac hello.java接著你可以在相同的路徑上看到一名為 hello.class 的檔案鍵盤敲入 java hello (執行 hello.class)在此檔案中找出“public static void main(String arg)” 這個方法並且從這裡開始啟動 JVM,把class放在裡面並執行結束 JVM 牛牛文库文档分享31 牛牛文库文档分享32

16、使用提示命令字元 牛牛文库文档分享33 牛牛文库文档分享34Java 歷代版本沿革Java 1.0Java 1.1Java 1.2Java 1.3Java 1.4Java 1.5 (Java 5.0)Java 1Java 2 牛牛文库文档分享35Java 套餐 (Package)Java SE(Standard Edition)Java EE(Enterprise Edition)Java ME(Micro Edition)同一個版本的 Java,又分為三種套餐標準版適用於開發用戶端程式企業版適用於開發伺服器端程式手持設備版適用於開發手機、無線設備程式Jini (超微小型用) (與Genie同

17、音) 可運用於超微小世界(如資料與科學 之奈米設計)之相關設計,適合於研 發與學界之理論探索 牛牛文库文档分享36應知的幾個名詞Java applicationJava application 與一般獨立執行的應用程式並沒有什麼不同一定有 main( ) 主程式能在各種平台之 JVM 上執行Java applet一小程式可附予其它程式(譬如網頁瀏覽器)一些功能可視為在網頁瀏覽程式中執行的應用程式需有支援 java 之瀏覽器方能執行一定要繼承自 java.applet.Applet 類別ServletServlet 則是可在 Web Server 上動態執行的 Java 程式Java Servlet 與

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论