版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1上課用書陳會安,Java SE6 程式設(shè)計範例教本,學貫出版社,2008年 (ISBN: 978-986-6800-35-1) 牛牛文庫文檔分享2請遵守智慧財產(chǎn)權(quán)觀念,不得非法影印教科書這門課不是營養(yǎng)學分,歡迎大家來修,但請務(wù)必投入對應的時間與精力 牛牛文庫文檔分享3課程內(nèi)容大綱 (1/2)Java 基礎(chǔ)、環(huán)境安裝與設(shè)定 (書第一章)撰寫一個簡單的程式物件與類別基本資料型態(tài)應用程式及繪圖判斷敘述重複敘述設(shè)計類別測試與除錯 牛牛文庫文檔分享4內(nèi)容大綱 (2/2)介面與多型 (Polymorphism)事件處理繼承圖形介面元件例外處理 (Exception Handling)資料流 (I/O S
2、treams)Java 在網(wǎng)路通訊的應用* 牛牛文庫文檔分享5上課及評分方式老師講解、討論程式作業(yè) (若干次,在家自行練習或課堂中練習,視情況實施)期中考試四次 (現(xiàn)場上機,17:0019:00)3/18 (四) (15%)4/01 (四) (20%)4/22 (四) (20%) (14:0019:00)5/13 (四) (20%) 期末考一次(現(xiàn)場上機,14:0019:00)5/27 (三) (25%) 牛牛文庫文檔分享6Java 程式語言Java是90年代中期才開始風行的程式語言由 Sun(昇陽)公司開發(fā)的一種使用在家電控制的軟體技術(shù),由James Gosling帶領(lǐng)計劃開發(fā)一種全新的程式
3、語言,不受硬體的限制,適用於各種不同平臺原先打算將C+語言擴充成一種新的程式語言,卻困難重重重新創(chuàng)造一種新的電腦語言,發(fā)展初期並不順利1994年WWW迅速成為Internet當紅的資源服務(wù),它們發(fā)現(xiàn)Java語言在WWW擁有無比的潛力有一說法:超過40%的企業(yè)在選用程式設(shè)計人才時優(yōu)先考慮擅長Java的人員SCJP(Sun Certified Java Programmer)是很有用的認證 牛牛文庫文檔分享7Java 與 C/C+ 結(jié)構(gòu)上的差異Java 的架構(gòu)與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 具下載程式的網(wǎng)路功能。配合 Web Server 及網(wǎng)頁瀏覽器的運作,可將 applet 自遠端之 Web Server 下載到本機網(wǎng)頁瀏覽器上執(zhí)行,增加其應用的空間Java 提供便利的網(wǎng)路程式設(shè)計工具 牛牛文庫文檔分享8Java
5、 概觀 (1/2)跨平臺: 寫一份程式不需重新編譯即可在Windows、Unix、Linux甚至PDA上面執(zhí)行物件導向: 是廣泛使用的程式規(guī)格,方便釐清和解答問題簡單: 語言本身相當聰明,去除掉了許多C+的問題,使得程式設(shè)計師除錯的時間大大減少功能強大: Java 語言內(nèi)含大量的網(wǎng)路處理、I/O 處理、繪圖等功能,而且還可以透過下載套件的方式加強功能開放: 全世界有數(shù)以千萬計的 Java 程式設(shè)計師不斷的強化 Java 的功能免費: Java 語言完全免費,甚至可以取得原始碼多工動態(tài)載入安全性高: 內(nèi)建安全機制 牛牛文庫文檔分享9Java 概觀 (2/2)原始碼.java檔案編譯(compil
6、e)Bytecode執(zhí)行檔.class檔案執(zhí)行Java Virtual Machine 牛牛文庫文檔分享10Bytecode通過編譯的Java執(zhí)行檔(副檔名為.class)的格式稱做bytecode (位元碼)Bytecode 與系統(tǒng)機器無關(guān) (machine independent)一般C或C+的程式經(jīng)過編譯後,會視平臺不同而有不同的格式,因此不能跨平臺。而bytecode不論在任何平臺上格式都一樣,所以可以跨平臺 牛牛文庫文檔分享11Java 虛擬機器一般程式硬體作業(yè)系統(tǒng)硬體作業(yè)系統(tǒng)JVMJava 程式Java 程式能夠執(zhí)行的最關(guān)鍵的環(huán)節(jié)就是Java 虛擬機器(Java Virtual M
7、achine, JVM)編譯好的 Java 執(zhí)行檔並不能直接執(zhí)行,而是必須交由JVM 解譯 (interpret) 並執(zhí)行不同的平臺必須有不同的 JVM,因此bytecode可以跨平臺,但 JVM 不能跨平臺 牛牛文庫文檔分享12Java 的特色:跨平臺PCUNIXMacJava 程式CompileJavaBytecodeJava VMFor PCJava VMFor UNIXJava VMFor MacintoshWrite Once, Run Anywhere (WORA) 牛牛文庫文檔分享13Java 的特色:物件導向 (1/3)什麼是物件導向(Object-Oriented)不使用物件
8、導向(程序?qū)颍┟枋銮嘟烦炊垢?取出青椒 500 g,用刀切成細絲,過油 取出豆腐 300 g,切丁,用醬油、酒、 黑醋醃製 30 分鐘 起油鍋、放入豆腐炒及青椒大火快炒 1 分半 拿出太白粉、水調(diào)在一起,這個稱為 芡汁 將芡汁倒入鍋中攪拌,會產(chǎn)生黏稠現(xiàn)象 這叫芶芡完成使用物件導向描述一件事青椒炒豆腐 青椒 數(shù)量:500 g 處理:用刀切成細絲,過油 豆腐 數(shù)量:300 g 處理:切丁,用醬油、酒、黑醋醃製 芡汁 製作:太白粉調(diào)上適量的水 芶芡:將芡汁倒入鍋中 青椒處理好、豆腐處理好、芡汁製作好, 放入鍋中快炒 1 分半後用芡汁芶芡即可。 牛牛文庫文檔分享14Java 的特色:物件導向 (2/
9、3)什麼是物件導向先定義好參與這件事的物品有哪些(這些物品叫做 “物件”)再定義這些物品所需的數(shù)量及行為(這些數(shù)量及行為叫做“屬性”與“方法”)接下來就可用物品間的互動行為來描述整件事情是如何發(fā)生的。(這部份的描述稱為“主程式”)青椒炒豆腐 青椒 數(shù)量:500 g 處理:用刀切成細絲,過油 豆腐 數(shù)量:300 g 處理:切丁,用醬油、酒、黑醋醃製 芡汁 製作:太白粉調(diào)上適量的水 芶芡:將芡汁倒入鍋中 青椒處理好、豆腐處理好、芡汁製作好, 放入鍋中快炒 1 分半後用芡汁芶芡即可。 牛牛文庫文檔分享15Java 的特色:物件導向 (3/3)Java 使用 “類別” (Class) 來實作物件的概念
10、class 青椒炒肉絲 青椒處理好 豆腐處理好 芡汁製作好 青椒 + 豆腐炒 1 分半 用芡汁芶芡即可主程式物件class 青椒 數(shù)量 = 500 g 處理法 青椒物件class 豆腐 數(shù)量 = 300 g 處理法 豆腐物件class 芡汁 製作法 芶芡法 芡汁物件 牛牛文庫文檔分享16程序式程式語言物件導向程式語言Function1(a,b)Function3()Function2(c)Function4(a,b)OBJ1OBJ3OBJ2Java 的特色:物件導向 vs. 程序?qū)虺淌秸Z言 牛牛文庫文檔分享17Java 的特色:多工 (1/2)何謂多工 (Multi-tasking)可將一個
11、程式分成數(shù)份,讓各部份能同時被執(zhí)行 牛牛文庫文檔分享18Java 的特色:多工 (2/2)Java 利用 “執(zhí)行緒” (Thread) 來實作多工執(zhí)行緒 1執(zhí)行緒 2執(zhí)行緒 3 牛牛文庫文檔分享19Java 的特色:動態(tài)載入其它語言程式開始執(zhí)行後所有物件就一起載入。一旦開始執(zhí)行,就無法做出任何變更。Java 語言當需要某個物件時,才將該物件載入。這種特質(zhì),讓動態(tài)抽換物件變得可能。 牛牛文庫文檔分享20Java 的特色:穩(wěn)固性Java 沒有記憶體指標 (pointer)Java 資料型別的轉(zhuǎn)換有十分嚴格的檢查Java 提供例外處理的機制來防護當程式發(fā)生錯誤時的破壞情況 牛牛文庫文檔分享21Jav
12、a 的特色:具自動記憶體管理功能Java不提供類似 C 中 malloc ( ) 及 free( ) 之函數(shù) 利用 new( ) 產(chǎn)生新物件,程式設(shè)計師不必擔心何時應收回無用的記憶體空間Java 之執(zhí)行系統(tǒng)會執(zhí)行 garbage collection,自動回收已不再使用的物件 牛牛文庫文檔分享22Java 開發(fā)工具 (Java Development Kit, JDK)/網(wǎng)址 牛牛文庫文檔分享23Java 開發(fā)工具 (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安裝設(shè)定環(huán)境變數(shù) (見下下頁) 牛牛文庫文檔分享26JDK 的主要內(nèi)容javac.exe Java compiler (編譯器)用來將Java的原始碼編譯成為 bytecodejava.exe Ja
14、va interpreter (解譯器)用來執(zhí)行 bytecode,實際上即為 JVMappletviewer Java applet 瀏覽器javadoc.exe 文件產(chǎn)生器用來自動產(chǎn)生原始碼的說明文件jdb Java debugger (除錯器)javah C 標頭產(chǎn)生器javap Java 反組譯器classes.zipsrc.zip 牛牛文庫文檔分享27 牛牛文庫文檔分享28 牛牛文庫文檔分享29加入 ;.;c:Program FilesJavajdk1.6.0_03bin 牛牛文庫文檔分享30執(zhí)行範例:“Hello world”可使用任何編輯器撰寫下列程式碼 public class
15、 hello public static void main(String args) System.out.println(“Hello world.”); 以hello.java為檔名儲存執(zhí)行文字的主的(命令列)功能鍵盤敲入 javac hello.java接著你可以在相同的路徑上看到一名為 hello.class 的檔案鍵盤敲入 java hello (執(zhí)行 hello.class)在此檔案中找出“public static void main(String arg)” 這個方法並且從這裡開始啟動 JVM,把class放在裡面並執(zhí)行結(jié)束 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,又分為三種套餐標準版適用於開發(fā)用戶端程式企業(yè)版適用於開發(fā)伺服器端程式手持設(shè)備版適用於開發(fā)手機、無線設(shè)備程式Jini (超微小型用) (與Genie同
17、音) 可運用於超微小世界(如資料與科學 之奈米設(shè)計)之相關(guān)設(shè)計,適合於研 發(fā)與學界之理論探索 牛牛文庫文檔分享36應知的幾個名詞Java applicationJava application 與一般獨立執(zhí)行的應用程式並沒有什麼不同一定有 main( ) 主程式能在各種平臺之 JVM 上執(zhí)行Java applet一小程式可附予其它程式(譬如網(wǎng)頁瀏覽器)一些功能可視為在網(wǎng)頁瀏覽程式中執(zhí)行的應用程式需有支援 java 之瀏覽器方能執(zhí)行一定要繼承自 java.applet.Applet 類別ServletServlet 則是可在 Web Server 上動態(tài)執(zhí)行的 Java 程式Java Servlet 與
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版智能航運物流船運輸合作協(xié)議合同2篇
- 二零二五年測繪數(shù)據(jù)處理與分析合同范本3篇
- 二零二五年特種花卉種子采購合同范本3篇
- 二零二五版商業(yè)街區(qū)保安臨時工勞動合同示范文本3篇
- 二零二五版生態(tài)農(nóng)業(yè)基地種植分包合同3篇
- 河北省二零二五年度二手房買賣合同附帶專業(yè)拆除及清理服務(wù)3篇
- 二零二五年度車輛過戶手續(xù)代理合同3篇
- 二零二五版汽車制造專用管子配件供應合同3篇
- 二零二五年度酒店食堂承包服務(wù)合同范本3篇
- 二零二五年度礦業(yè)風險評估與風險管理合同2篇
- 割接方案的要點、難點及采取的相應措施
- 2025年副護士長競聘演講稿(3篇)
- 2025至2031年中國臺式燃氣灶行業(yè)投資前景及策略咨詢研究報告
- 原發(fā)性腎病綜合征護理
- 第三章第一節(jié)《多變的天氣》說課稿2023-2024學年人教版地理七年級上冊
- 2025年中國電科集團春季招聘高頻重點提升(共500題)附帶答案詳解
- 2025年度建筑施工現(xiàn)場安全管理合同2篇
- 建筑垃圾回收利用標準方案
- 2024年考研英語一閱讀理解80篇解析
- 福建省廈門市2023-2024學年高二上學期期末考試語文試題(解析版)
- 防火墻施工組織設(shè)計
評論
0/150
提交評論