語(yǔ)言及其應(yīng)用課件_第1頁(yè)
語(yǔ)言及其應(yīng)用課件_第2頁(yè)
語(yǔ)言及其應(yīng)用課件_第3頁(yè)
語(yǔ)言及其應(yīng)用課件_第4頁(yè)
語(yǔ)言及其應(yīng)用課件_第5頁(yè)
已閱讀5頁(yè),還剩71頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1上課用書(shū)陳會(huì)安,JavaSE6程式設(shè)計(jì)範(fàn)例

教本,學(xué)貫出版社,2008年

(ISBN:978-986-6800-35-1)

牛牛文庫(kù)文檔分享1上課用書(shū)陳會(huì)安,JavaSE6程式設(shè)計(jì)範(fàn)例

教本,學(xué)貫2請(qǐng)遵守智慧財(cái)產(chǎn)權(quán)觀念,不得非法影印教科書(shū)這門(mén)課不是營(yíng)養(yǎng)學(xué)分,歡迎大家來(lái)修,但請(qǐng)務(wù)必投入對(duì)應(yīng)的時(shí)間與精力

牛牛文庫(kù)文檔分享2請(qǐng)遵守智慧財(cái)產(chǎn)權(quán)觀念,不得非法影印教科書(shū)這門(mén)課不是營(yíng)養(yǎng)學(xué)分3課程內(nèi)容大綱(1/2)Java基礎(chǔ)、環(huán)境安裝與設(shè)定(書(shū)第一章)撰寫(xiě)一個(gè)簡(jiǎn)單的程式物件與類(lèi)別基本資料型態(tài)應(yīng)用程式及繪圖判斷敘述重複敘述設(shè)計(jì)類(lèi)別測(cè)試與除錯(cuò)

牛牛文庫(kù)文檔分享3課程內(nèi)容大綱(1/2)Java基礎(chǔ)、環(huán)境安裝與設(shè)定(4內(nèi)容大綱(2/2)介面與多型(Polymorphism)事件處理繼承圖形介面元件例外處理(ExceptionHandling)資料流(I/OStreams)Java在網(wǎng)路通訊的應(yīng)用*

牛牛文庫(kù)文檔分享4內(nèi)容大綱(2/2)介面與多型(Polymorphism5上課及評(píng)分方式老師講解、討論程式作業(yè)(若干次,在家自行練習(xí)或課堂中練習(xí),視情況實(shí)施)期中考試四次(現(xiàn)場(chǎng)上機(jī),17:00~19:00)3/18(四)(15%)4/01(四)(20%)4/22(四)(20%)(14:00~19:00)5/13(四)(20%)期末考一次(現(xiàn)場(chǎng)上機(jī),14:00~19:00)5/27(三)(25%)

牛牛文庫(kù)文檔分享5上課及評(píng)分方式老師講解、討論牛6Java程式語(yǔ)言Java是90年代中期才開(kāi)始風(fēng)行的程式語(yǔ)言由Sun(昇陽(yáng))公司開(kāi)發(fā)的一種使用在家電控

制的軟體技術(shù),由JamesGosling帶領(lǐng)計(jì)劃開(kāi)

發(fā)一種全新的程式語(yǔ)言,不受硬體的限制,適

用於各種不同平臺(tái)原先打算將C++語(yǔ)言擴(kuò)充成一種新的程式語(yǔ)言,卻困難重重重新創(chuàng)造一種新的電腦語(yǔ)言,發(fā)展初期並不順利1994年WWW迅速成為Internet當(dāng)紅的資源服務(wù),它們發(fā)現(xiàn)Java語(yǔ)言在WWW擁有無(wú)比的潛力有一說(shuō)法:超過(guò)40%的企業(yè)在選用程式設(shè)計(jì)人才時(shí)優(yōu)先考慮擅長(zhǎng)Java的人員SCJP(SunCertifiedJavaProgrammer)是很有用的認(rèn)證

牛牛文庫(kù)文檔分享6Java程式語(yǔ)言Java是90年代中期才開(kāi)始風(fēng)行的程式語(yǔ)7Java與C/C++結(jié)構(gòu)上的差異Java的架構(gòu)與C/C++雷同,除了:Java的函式(method)、介面(interface)全都包在物件中Java

支援單一繼承,Java物件的根類(lèi)別是java.lang.ObjectJava

沒(méi)有前置處理器(preprocessor)Java

沒(méi)有指標(biāo)(pointer)Java

沒(méi)有g(shù)oto

敘述,也沒(méi)有struct

union

語(yǔ)法Java

沒(méi)有多重繼承與運(yùn)算子覆載(operatoroverloading)Java

具有記憶體回收(garbagecollection)功能Java具下載程式的網(wǎng)路功能。配合WebServer及網(wǎng)頁(yè)瀏覽器的運(yùn)作,可將applet自遠(yuǎn)端之WebServer下載到本機(jī)網(wǎng)頁(yè)瀏覽器上執(zhí)行,增加其應(yīng)用的空間Java

提供便利的網(wǎng)路程式設(shè)計(jì)工具

牛牛文庫(kù)文檔分享7Java與C/C++結(jié)構(gòu)上的差異Java的架構(gòu)與C8Java概觀(1/2)跨平臺(tái):寫(xiě)一份程式不需重新編譯即可在Windows、Unix、Linux甚至PDA上面執(zhí)行物件導(dǎo)向:是廣泛使用的程式規(guī)格,方便釐清和解答問(wèn)題簡(jiǎn)單:語(yǔ)言本身相當(dāng)聰明,去除掉了許多C++的問(wèn)題,使得程式設(shè)計(jì)師除錯(cuò)的時(shí)間大大減少功能強(qiáng)大:Java語(yǔ)言?xún)?nèi)含大量的網(wǎng)路處理、I/O處理、繪圖等功能,而且還可以透過(guò)下載套件的方式加強(qiáng)功能開(kāi)放:全世界有數(shù)以千萬(wàn)計(jì)的Java程式設(shè)計(jì)師不斷的強(qiáng)化Java的功能免費(fèi):Java語(yǔ)言完全免費(fèi),甚至可以取得原始碼多工動(dòng)態(tài)載入安全性高:內(nèi)建安全機(jī)制

牛牛文庫(kù)文檔分享8Java概觀(1/2)跨平臺(tái):寫(xiě)一份程式不需重新編譯9Java概觀(2/2)原始碼.java檔案編譯(compile)Bytecode

執(zhí)行檔.class檔案執(zhí)行JavaVirtualMachine

牛牛文庫(kù)文檔分享9Java概觀(2/2)原始碼.java檔案編譯(com10Bytecode通過(guò)編譯的Java執(zhí)行檔(副檔名為.class)的格式稱(chēng)做bytecode(位元碼)Bytecode與系統(tǒng)機(jī)器無(wú)關(guān)(machineindependent)一般C或C++的程式經(jīng)過(guò)編譯後,會(huì)視平臺(tái)不同而有不同的格式,因此不能跨平臺(tái)。而bytecode不論在任何平臺(tái)上格式都一樣,所以可以跨平臺(tái)

牛牛文庫(kù)文檔分享10Bytecode通過(guò)編譯的Java執(zhí)行檔(副檔名為.cl11Java虛擬機(jī)器一般程式硬體作業(yè)系統(tǒng)硬體作業(yè)系統(tǒng)JVMJava程式Java程式能夠執(zhí)行的最關(guān)鍵的環(huán)節(jié)就是Java虛擬機(jī)器(JavaVirtualMachine,JVM)編譯好的Java執(zhí)行檔並不能直接執(zhí)行,而是必須交由JVM解譯(interpret)並執(zhí)行不同的平臺(tái)必須有不同的JVM,因此bytecode可以跨平臺(tái),但JVM不能跨平臺(tái)

牛牛文庫(kù)文檔分享11Java虛擬機(jī)器一般程式硬體作業(yè)系統(tǒng)硬體作業(yè)系統(tǒng)JVM12Java的特色:跨平臺(tái)PCUNIXMacJava程式CompileJavaBytecodeJavaVMForPCJavaVMForUNIXJavaVMForMacintoshWriteOnce,RunAnywhere(WORA)

牛牛文庫(kù)文檔分享12Java的特色:跨平臺(tái)PCUNIXMacJava程式13Java的特色:物件導(dǎo)向(1/3)什麼是物件導(dǎo)向(Object-Oriented)不使用物件導(dǎo)向(程序?qū)颍┟枋銮嘟烦炊垢〕銮嘟?00g,用刀切成細(xì)絲,過(guò)油取出豆腐300g,切丁,用醬油、酒、

黑醋醃製30分鐘起油鍋、放入豆腐炒及青椒大火快炒

1分半拿出太白粉、水調(diào)在一起,這個(gè)稱(chēng)為

芡汁將芡汁倒入鍋中攪拌,會(huì)產(chǎn)生黏稠現(xiàn)象

這叫芶芡完成使用物件導(dǎo)向描述一件事青椒炒豆腐

青椒

數(shù)量:500g

處理:用刀切成細(xì)絲,過(guò)油

豆腐

數(shù)量:300g

處理:切丁,用醬油、酒、黑醋醃製

芡汁

製作:太白粉調(diào)上適量的水

芶芡:將芡汁倒入鍋中

青椒處理好、豆腐處理好、芡汁製作好,

放入鍋中快炒1分半後用芡汁芶芡即可。

牛牛文庫(kù)文檔分享13Java的特色:物件導(dǎo)向(1/3)什麼是物件導(dǎo)向(O14Java的特色:物件導(dǎo)向(2/3)什麼是物件導(dǎo)向先定義好參與這件事的物品有哪些(這些物品叫做“物件”)再定義這些物品所需的數(shù)量及行為(這些數(shù)量及行為叫做

“屬性”與“方法”)接下來(lái)就可用物品間的互動(dòng)行為來(lái)描述整件事情是如何發(fā)生的。

(這部份的描述稱(chēng)為“主程式”)青椒炒豆腐

青椒

數(shù)量:500g

處理:用刀切成細(xì)絲,過(guò)油

豆腐

數(shù)量:300g

處理:切丁,用醬油、酒、黑醋醃製

芡汁

製作:太白粉調(diào)上適量的水

芶芡:將芡汁倒入鍋中

青椒處理好、豆腐處理好、芡汁製作好,

放入鍋中快炒1分半後用芡汁芶芡即可。

牛牛文庫(kù)文檔分享14Java的特色:物件導(dǎo)向(2/3)什麼是物件導(dǎo)向先定15Java的特色:物件導(dǎo)向(3/3)Java使用“類(lèi)別”(Class)來(lái)實(shí)作物件的概念class青椒炒肉絲{

青椒處理好

豆腐處理好

芡汁製作好

青椒

+豆腐炒1分半用芡汁芶芡即可}主程式物件class青椒{

數(shù)量

=500g

處理法

{…}}青椒物件class豆腐{

數(shù)量

=300g

處理法

{…}}豆腐物件class芡汁{

製作法

{…}

芶芡法

{…}}芡汁物件

牛牛文庫(kù)文檔分享15Java的特色:物件導(dǎo)向(3/3)Java使用“16程序式程式語(yǔ)言物件導(dǎo)向程式語(yǔ)言Function1(a,b)Function3()Function2(c)Function4(a,b)OBJ1OBJ3OBJ2Java的特色:物件導(dǎo)向vs.程序?qū)虺淌秸Z(yǔ)言

牛牛文庫(kù)文檔分享16程序式程式語(yǔ)言物件導(dǎo)向程式語(yǔ)言Function1(a,b17Java的特色:多工(1/2)何謂多工(Multi-tasking)可將一個(gè)程式分成數(shù)份,讓各部份能同時(shí)被執(zhí)行

牛牛文庫(kù)文檔分享17Java的特色:多工(1/2)何謂多工(Multi18Java的特色:多工(2/2)Java利用“執(zhí)行緒”(Thread)來(lái)實(shí)作多工執(zhí)行緒1執(zhí)行緒2執(zhí)行緒3

牛牛文庫(kù)文檔分享18Java的特色:多工(2/2)Java利用“執(zhí)行19Java的特色:動(dòng)態(tài)載入其它語(yǔ)言程式開(kāi)始執(zhí)行後所有物件就一起載入。一旦開(kāi)始執(zhí)行,就無(wú)法做出任何變更。Java語(yǔ)言當(dāng)需要某個(gè)物件時(shí),才將該物件載入。這種特質(zhì),讓動(dòng)態(tài)抽換物件變得可能。

牛牛文庫(kù)文檔分享19Java的特色:動(dòng)態(tài)載入其它語(yǔ)言程式開(kāi)始執(zhí)行後所有物件20Java的特色:穩(wěn)固性Java沒(méi)有記憶體指標(biāo)(pointer)Java資料型別的轉(zhuǎn)換有十分嚴(yán)格的檢查Java提供例外處理的機(jī)制來(lái)防護(hù)當(dāng)程式發(fā)生錯(cuò)誤時(shí)的破壞情況

牛牛文庫(kù)文檔分享20Java的特色:穩(wěn)固性Java沒(méi)有記憶體指標(biāo)(po21Java的特色:具自動(dòng)記憶體管理功能Java不提供類(lèi)似C中malloc()

及free()

之函數(shù)利用new()

產(chǎn)生新物件,程式設(shè)計(jì)師不必?fù)?dān)心何時(shí)應(yīng)收回?zé)o用的記憶體空間Java之執(zhí)行系統(tǒng)會(huì)執(zhí)行g(shù)arbagecollection,自動(dòng)回收已不再使用的物件

牛牛文庫(kù)文檔分享21Java的特色:具自動(dòng)記憶體管理功能Java不提供類(lèi)似22Java開(kāi)發(fā)工具(JavaDevelopmentKit,JDK)/網(wǎng)址

牛牛文庫(kù)文檔分享22Java開(kāi)發(fā)工具(JavaDevelopment23Java開(kāi)發(fā)工具(JavaDevelopmentKit,JDK)

牛牛文庫(kù)文檔分享23Java開(kāi)發(fā)工具(JavaDevelopment24選擇正確套件NetBeanIDE(IntegratedDevelopmentEnvironment)JDK(JavaDevelopmentKit)JRE(JavaRuntime

Environment)JavaVM

(JVM)JavaRuntimeClassesJavaDocs

牛牛文庫(kù)文檔分享24選擇正確套件NetBeanIDE(Integrate25安裝JDK詳細(xì)安裝步驟另見(jiàn).tw/0024/javaclass/unit1/java2/java_install.htm從

下載MSWindows平臺(tái)使用Unix/LinuxMacOS安裝設(shè)定環(huán)境變數(shù)(見(jiàn)下下頁(yè))

牛牛文庫(kù)文檔分享25安裝JDK詳細(xì)安裝步驟另見(jiàn)http://csm00.cs26JDK的主要內(nèi)容javac.exe──Javacompiler(編譯器)用來(lái)將Java的原始碼編譯成為bytecodejava.exe──Javainterpreter(解譯器)用來(lái)執(zhí)行bytecode,實(shí)際上即為JVMappletviewer──Javaapplet瀏覽器javadoc.exe──文件產(chǎn)生器用來(lái)自動(dòng)產(chǎn)生原始碼的說(shuō)明文件jdb──Javadebugger(除錯(cuò)器)javah──C標(biāo)頭產(chǎn)生器javap──Java反組譯器classes.zipsrc.zip

牛牛文庫(kù)文檔分享26JDK的主要內(nèi)容javac.exe──Javac27

牛牛文庫(kù)文檔分享27牛牛文庫(kù)文檔分享28

牛牛文庫(kù)文檔分享28牛牛文庫(kù)文檔分享29加入;.;c:\ProgramFiles\Java\jdk1.6.0_03\bin

牛牛文庫(kù)文檔分享29加入;.;c:\ProgramFiles\Java\30執(zhí)行範(fàn)例:“Helloworld”可使用任何編輯器撰寫(xiě)下列程式碼

publicclasshello{publicstaticvoidmain(String[]args){System.out.println(“Helloworld..”);}}以hello.java為檔名儲(chǔ)存執(zhí)行文字的主的(命令列)功能鍵盤(pán)敲入javachello.java…接著你可以在相同的路徑上看到一名為hello.class的檔案鍵盤(pán)敲入javahello(執(zhí)行hello.class)在此檔案中找出“publicstaticvoidmain(String[]arg)”

這個(gè)方法並且從這裡開(kāi)始啟動(dòng)JVM,把class放在裡面並執(zhí)行結(jié)束JVM

牛牛文庫(kù)文檔分享30執(zhí)行範(fàn)例:“Helloworld”可使用任何編輯器撰寫(xiě)31

牛牛文庫(kù)文檔分享31牛牛文庫(kù)文檔分享32使用提示命令字元

牛牛文庫(kù)文檔分享32使用提示命令字元牛牛文庫(kù)文檔33

牛牛文庫(kù)文檔分享33牛牛文庫(kù)文檔分享34Java歷代版本沿革Java1.0Java1.1Java1.2Java1.3Java1.4Java1.5(Java5.0)Java1Java2

牛牛文庫(kù)文檔分享34Java歷代版本沿革Java1.0Java1.1J35Java套餐(Package)JavaSE(StandardEdition)JavaEE(EnterpriseEdition)JavaME(MicroEdition)同一個(gè)版本的Java,又分為三種套餐標(biāo)準(zhǔn)版適用於開(kāi)發(fā)用戶(hù)端程式企業(yè)版適用於開(kāi)發(fā)伺服器端程式手持設(shè)備版適用於開(kāi)發(fā)手機(jī)、無(wú)線(xiàn)設(shè)

備程式Jini(超微小型用)(與Genie同音)

可運(yùn)用於超微小世界(如資料與科學(xué)

之奈米設(shè)計(jì))之相關(guān)設(shè)計(jì),適合於研

發(fā)與學(xué)界之理論探索

牛牛文庫(kù)文檔分享35Java套餐(Package)JavaSEJava36應(yīng)知的幾個(gè)名詞JavaapplicationJavaapplication與一般獨(dú)立執(zhí)行的應(yīng)用程式並沒(méi)有什麼不同一定有main()

主程式能在各種平臺(tái)之JVM上執(zhí)行Javaapplet一小程式可附予其它程式(譬如網(wǎng)頁(yè)瀏覽器)一些功能可視為在網(wǎng)頁(yè)瀏覽程式中執(zhí)行的應(yīng)用程式需有支援java之瀏覽器方能執(zhí)行一定要繼承自java.applet.Applet類(lèi)別ServletServlet則是可在WebServer上動(dòng)態(tài)執(zhí)行的Java程式JavaServlet與

Javaapplet最大的不同在前者不具圖形化人機(jī)介面

牛牛文庫(kù)文檔分享36應(yīng)知的幾個(gè)名詞Javaapplicationwww.n37Java的潛在缺點(diǎn)速度稍慢一個(gè)沒(méi)有經(jīng)過(guò)謹(jǐn)慎設(shè)計(jì)的Java程式,執(zhí)行速度比同樣未經(jīng)謹(jǐn)慎設(shè)計(jì)的C程式要慢,但經(jīng)過(guò)謹(jǐn)慎設(shè)計(jì)之後效率可以大幅提昇較耗資源因?yàn)轭~外加上一個(gè)JVM,會(huì)額外浪費(fèi)一些系統(tǒng)資源,但是經(jīng)過(guò)謹(jǐn)慎設(shè)計(jì)可以大幅改善

牛牛文庫(kù)文檔分享37Java的潛在缺點(diǎn)速度稍慢38未參加課後練習(xí)的成績(jī)計(jì)算方式將依期中考或期末考的表現(xiàn)等比例推算。例如:設(shè)某次練習(xí)滿(mǎn)分為x

分,而該同學(xué)在期中考所得為y分(滿(mǎn)分為z),則缺席的這次練習(xí)所得分?jǐn)?shù)將以(y/z)*x

計(jì)算

牛牛文庫(kù)文檔分享38未參加課後練習(xí)的成績(jī)計(jì)算方式39上課用書(shū)陳會(huì)安,JavaSE6程式設(shè)計(jì)範(fàn)例

教本,學(xué)貫出版社,2008年

(ISBN:978-986-6800-35-1)

牛牛文庫(kù)文檔分享1上課用書(shū)陳會(huì)安,JavaSE6程式設(shè)計(jì)範(fàn)例

教本,學(xué)貫40請(qǐng)遵守智慧財(cái)產(chǎn)權(quán)觀念,不得非法影印教科書(shū)這門(mén)課不是營(yíng)養(yǎng)學(xué)分,歡迎大家來(lái)修,但請(qǐng)務(wù)必投入對(duì)應(yīng)的時(shí)間與精力

牛牛文庫(kù)文檔分享2請(qǐng)遵守智慧財(cái)產(chǎn)權(quán)觀念,不得非法影印教科書(shū)這門(mén)課不是營(yíng)養(yǎng)學(xué)分41課程內(nèi)容大綱(1/2)Java基礎(chǔ)、環(huán)境安裝與設(shè)定(書(shū)第一章)撰寫(xiě)一個(gè)簡(jiǎn)單的程式物件與類(lèi)別基本資料型態(tài)應(yīng)用程式及繪圖判斷敘述重複敘述設(shè)計(jì)類(lèi)別測(cè)試與除錯(cuò)

牛牛文庫(kù)文檔分享3課程內(nèi)容大綱(1/2)Java基礎(chǔ)、環(huán)境安裝與設(shè)定(42內(nèi)容大綱(2/2)介面與多型(Polymorphism)事件處理繼承圖形介面元件例外處理(ExceptionHandling)資料流(I/OStreams)Java在網(wǎng)路通訊的應(yīng)用*

牛牛文庫(kù)文檔分享4內(nèi)容大綱(2/2)介面與多型(Polymorphism43上課及評(píng)分方式老師講解、討論程式作業(yè)(若干次,在家自行練習(xí)或課堂中練習(xí),視情況實(shí)施)期中考試四次(現(xiàn)場(chǎng)上機(jī),17:00~19:00)3/18(四)(15%)4/01(四)(20%)4/22(四)(20%)(14:00~19:00)5/13(四)(20%)期末考一次(現(xiàn)場(chǎng)上機(jī),14:00~19:00)5/27(三)(25%)

牛牛文庫(kù)文檔分享5上課及評(píng)分方式老師講解、討論牛44Java程式語(yǔ)言Java是90年代中期才開(kāi)始風(fēng)行的程式語(yǔ)言由Sun(昇陽(yáng))公司開(kāi)發(fā)的一種使用在家電控

制的軟體技術(shù),由JamesGosling帶領(lǐng)計(jì)劃開(kāi)

發(fā)一種全新的程式語(yǔ)言,不受硬體的限制,適

用於各種不同平臺(tái)原先打算將C++語(yǔ)言擴(kuò)充成一種新的程式語(yǔ)言,卻困難重重重新創(chuàng)造一種新的電腦語(yǔ)言,發(fā)展初期並不順利1994年WWW迅速成為Internet當(dāng)紅的資源服務(wù),它們發(fā)現(xiàn)Java語(yǔ)言在WWW擁有無(wú)比的潛力有一說(shuō)法:超過(guò)40%的企業(yè)在選用程式設(shè)計(jì)人才時(shí)優(yōu)先考慮擅長(zhǎng)Java的人員SCJP(SunCertifiedJavaProgrammer)是很有用的認(rèn)證

牛牛文庫(kù)文檔分享6Java程式語(yǔ)言Java是90年代中期才開(kāi)始風(fēng)行的程式語(yǔ)45Java與C/C++結(jié)構(gòu)上的差異Java的架構(gòu)與C/C++雷同,除了:Java的函式(method)、介面(interface)全都包在物件中Java

支援單一繼承,Java物件的根類(lèi)別是java.lang.ObjectJava

沒(méi)有前置處理器(preprocessor)Java

沒(méi)有指標(biāo)(pointer)Java

沒(méi)有g(shù)oto

敘述,也沒(méi)有struct

union

語(yǔ)法Java

沒(méi)有多重繼承與運(yùn)算子覆載(operatoroverloading)Java

具有記憶體回收(garbagecollection)功能Java具下載程式的網(wǎng)路功能。配合WebServer及網(wǎng)頁(yè)瀏覽器的運(yùn)作,可將applet自遠(yuǎn)端之WebServer下載到本機(jī)網(wǎng)頁(yè)瀏覽器上執(zhí)行,增加其應(yīng)用的空間Java

提供便利的網(wǎng)路程式設(shè)計(jì)工具

牛牛文庫(kù)文檔分享7Java與C/C++結(jié)構(gòu)上的差異Java的架構(gòu)與C46Java概觀(1/2)跨平臺(tái):寫(xiě)一份程式不需重新編譯即可在Windows、Unix、Linux甚至PDA上面執(zhí)行物件導(dǎo)向:是廣泛使用的程式規(guī)格,方便釐清和解答問(wèn)題簡(jiǎn)單:語(yǔ)言本身相當(dāng)聰明,去除掉了許多C++的問(wèn)題,使得程式設(shè)計(jì)師除錯(cuò)的時(shí)間大大減少功能強(qiáng)大:Java語(yǔ)言?xún)?nèi)含大量的網(wǎng)路處理、I/O處理、繪圖等功能,而且還可以透過(guò)下載套件的方式加強(qiáng)功能開(kāi)放:全世界有數(shù)以千萬(wàn)計(jì)的Java程式設(shè)計(jì)師不斷的強(qiáng)化Java的功能免費(fèi):Java語(yǔ)言完全免費(fèi),甚至可以取得原始碼多工動(dòng)態(tài)載入安全性高:內(nèi)建安全機(jī)制

牛牛文庫(kù)文檔分享8Java概觀(1/2)跨平臺(tái):寫(xiě)一份程式不需重新編譯47Java概觀(2/2)原始碼.java檔案編譯(compile)Bytecode

執(zhí)行檔.class檔案執(zhí)行JavaVirtualMachine

牛牛文庫(kù)文檔分享9Java概觀(2/2)原始碼.java檔案編譯(com48Bytecode通過(guò)編譯的Java執(zhí)行檔(副檔名為.class)的格式稱(chēng)做bytecode(位元碼)Bytecode與系統(tǒng)機(jī)器無(wú)關(guān)(machineindependent)一般C或C++的程式經(jīng)過(guò)編譯後,會(huì)視平臺(tái)不同而有不同的格式,因此不能跨平臺(tái)。而bytecode不論在任何平臺(tái)上格式都一樣,所以可以跨平臺(tái)

牛牛文庫(kù)文檔分享10Bytecode通過(guò)編譯的Java執(zhí)行檔(副檔名為.cl49Java虛擬機(jī)器一般程式硬體作業(yè)系統(tǒng)硬體作業(yè)系統(tǒng)JVMJava程式Java程式能夠執(zhí)行的最關(guān)鍵的環(huán)節(jié)就是Java虛擬機(jī)器(JavaVirtualMachine,JVM)編譯好的Java執(zhí)行檔並不能直接執(zhí)行,而是必須交由JVM解譯(interpret)並執(zhí)行不同的平臺(tái)必須有不同的JVM,因此bytecode可以跨平臺(tái),但JVM不能跨平臺(tái)

牛牛文庫(kù)文檔分享11Java虛擬機(jī)器一般程式硬體作業(yè)系統(tǒng)硬體作業(yè)系統(tǒng)JVM50Java的特色:跨平臺(tái)PCUNIXMacJava程式CompileJavaBytecodeJavaVMForPCJavaVMForUNIXJavaVMForMacintoshWriteOnce,RunAnywhere(WORA)

牛牛文庫(kù)文檔分享12Java的特色:跨平臺(tái)PCUNIXMacJava程式51Java的特色:物件導(dǎo)向(1/3)什麼是物件導(dǎo)向(Object-Oriented)不使用物件導(dǎo)向(程序?qū)颍┟枋銮嘟烦炊垢〕銮嘟?00g,用刀切成細(xì)絲,過(guò)油取出豆腐300g,切丁,用醬油、酒、

黑醋醃製30分鐘起油鍋、放入豆腐炒及青椒大火快炒

1分半拿出太白粉、水調(diào)在一起,這個(gè)稱(chēng)為

芡汁將芡汁倒入鍋中攪拌,會(huì)產(chǎn)生黏稠現(xiàn)象

這叫芶芡完成使用物件導(dǎo)向描述一件事青椒炒豆腐

青椒

數(shù)量:500g

處理:用刀切成細(xì)絲,過(guò)油

豆腐

數(shù)量:300g

處理:切丁,用醬油、酒、黑醋醃製

芡汁

製作:太白粉調(diào)上適量的水

芶芡:將芡汁倒入鍋中

青椒處理好、豆腐處理好、芡汁製作好,

放入鍋中快炒1分半後用芡汁芶芡即可。

牛牛文庫(kù)文檔分享13Java的特色:物件導(dǎo)向(1/3)什麼是物件導(dǎo)向(O52Java的特色:物件導(dǎo)向(2/3)什麼是物件導(dǎo)向先定義好參與這件事的物品有哪些(這些物品叫做“物件”)再定義這些物品所需的數(shù)量及行為(這些數(shù)量及行為叫做

“屬性”與“方法”)接下來(lái)就可用物品間的互動(dòng)行為來(lái)描述整件事情是如何發(fā)生的。

(這部份的描述稱(chēng)為“主程式”)青椒炒豆腐

青椒

數(shù)量:500g

處理:用刀切成細(xì)絲,過(guò)油

豆腐

數(shù)量:300g

處理:切丁,用醬油、酒、黑醋醃製

芡汁

製作:太白粉調(diào)上適量的水

芶芡:將芡汁倒入鍋中

青椒處理好、豆腐處理好、芡汁製作好,

放入鍋中快炒1分半後用芡汁芶芡即可。

牛牛文庫(kù)文檔分享14Java的特色:物件導(dǎo)向(2/3)什麼是物件導(dǎo)向先定53Java的特色:物件導(dǎo)向(3/3)Java使用“類(lèi)別”(Class)來(lái)實(shí)作物件的概念class青椒炒肉絲{

青椒處理好

豆腐處理好

芡汁製作好

青椒

+豆腐炒1分半用芡汁芶芡即可}主程式物件class青椒{

數(shù)量

=500g

處理法

{…}}青椒物件class豆腐{

數(shù)量

=300g

處理法

{…}}豆腐物件class芡汁{

製作法

{…}

芶芡法

{…}}芡汁物件

牛牛文庫(kù)文檔分享15Java的特色:物件導(dǎo)向(3/3)Java使用“54程序式程式語(yǔ)言物件導(dǎo)向程式語(yǔ)言Function1(a,b)Function3()Function2(c)Function4(a,b)OBJ1OBJ3OBJ2Java的特色:物件導(dǎo)向vs.程序?qū)虺淌秸Z(yǔ)言

牛牛文庫(kù)文檔分享16程序式程式語(yǔ)言物件導(dǎo)向程式語(yǔ)言Function1(a,b55Java的特色:多工(1/2)何謂多工(Multi-tasking)可將一個(gè)程式分成數(shù)份,讓各部份能同時(shí)被執(zhí)行

牛牛文庫(kù)文檔分享17Java的特色:多工(1/2)何謂多工(Multi56Java的特色:多工(2/2)Java利用“執(zhí)行緒”(Thread)來(lái)實(shí)作多工執(zhí)行緒1執(zhí)行緒2執(zhí)行緒3

牛牛文庫(kù)文檔分享18Java的特色:多工(2/2)Java利用“執(zhí)行57Java的特色:動(dòng)態(tài)載入其它語(yǔ)言程式開(kāi)始執(zhí)行後所有物件就一起載入。一旦開(kāi)始執(zhí)行,就無(wú)法做出任何變更。Java語(yǔ)言當(dāng)需要某個(gè)物件時(shí),才將該物件載入。這種特質(zhì),讓動(dòng)態(tài)抽換物件變得可能。

牛牛文庫(kù)文檔分享19Java的特色:動(dòng)態(tài)載入其它語(yǔ)言程式開(kāi)始執(zhí)行後所有物件58Java的特色:穩(wěn)固性Java沒(méi)有記憶體指標(biāo)(pointer)Java資料型別的轉(zhuǎn)換有十分嚴(yán)格的檢查Java提供例外處理的機(jī)制來(lái)防護(hù)當(dāng)程式發(fā)生錯(cuò)誤時(shí)的破壞情況

牛牛文庫(kù)文檔分享20Java的特色:穩(wěn)固性Java沒(méi)有記憶體指標(biāo)(po59Java的特色:具自動(dòng)記憶體管理功能Java不提供類(lèi)似C中malloc()

及free()

之函數(shù)利用new()

產(chǎn)生新物件,程式設(shè)計(jì)師不必?fù)?dān)心何時(shí)應(yīng)收回?zé)o用的記憶體空間Java之執(zhí)行系統(tǒng)會(huì)執(zhí)行g(shù)arbagecollection,自動(dòng)回收已不再使用的物件

牛牛文庫(kù)文檔分享21Java的特色:具自動(dòng)記憶體管理功能Java不提供類(lèi)似60Java開(kāi)發(fā)工具(JavaDevelopmentKit,JDK)/網(wǎng)址

牛牛文庫(kù)文檔分享22Java開(kāi)發(fā)工具(JavaDevelopment61Java開(kāi)發(fā)工具(JavaDevelopmentKit,JDK)

牛牛文庫(kù)文檔分享23Java開(kāi)發(fā)工具(JavaDevelopment62選擇正確套件NetBeanIDE(IntegratedDevelopmentEnvironment)JDK(JavaDevelopmentKit)JRE(JavaRuntime

Environment)JavaVM

(JVM)JavaRuntimeClassesJavaDocs

牛牛文庫(kù)文檔分享24選擇正確套件NetBeanIDE(Integrate63安裝JDK詳細(xì)安裝步驟另見(jiàn).tw/0024/javaclass/unit1/java2/java_install.htm從

下載MSWindows平臺(tái)使用Unix/LinuxMacOS安裝設(shè)定環(huán)境變數(shù)(見(jiàn)下下頁(yè))

牛牛文庫(kù)文檔分享25安裝JDK詳細(xì)安裝步驟另見(jiàn)http://csm00.cs64JDK的主要內(nèi)容javac.exe──Javacompiler(編譯器)用來(lái)將Java的原始碼編譯成為bytecodejava.exe──Javainterpreter(解譯器)用來(lái)執(zhí)行bytecode,實(shí)際上即為JVMappletviewer──Javaapplet瀏覽器javadoc.exe──文件產(chǎn)生器用來(lái)自動(dòng)產(chǎn)生原始碼的說(shuō)明文件jdb──Javadebugger(除錯(cuò)器)javah──C標(biāo)頭產(chǎn)生器javap──Java反組譯器classes.zipsrc.zip

牛牛文庫(kù)文檔分享26JDK的主要內(nèi)容javac.exe──Javac65

牛牛文庫(kù)文檔分享27牛牛文庫(kù)文檔分享66

牛牛文庫(kù)文檔分享28牛牛文庫(kù)文檔分享67加入;.;c:\ProgramFiles\Java\jdk1.6.0_03\bin

牛牛文庫(kù)文檔分享29加入;.;c:\ProgramFiles\Java\68執(zhí)行範(fàn)例:“Helloworld”可使用任何編輯器撰寫(xiě)下列程式碼

publicclasshello{publicstaticvoidmain(String[]args){System.out.println(“Helloworld..”)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論