Java語言程序設(shè)計第01章

上傳人:dfg****19 文檔編號:248163686 上傳時間:2024-10-22 格式:PPT 頁數(shù):23 大?。?72.50KB
收藏 版權(quán)申訴 舉報 下載
Java語言程序設(shè)計第01章_第1頁
第1頁 / 共23頁
Java語言程序設(shè)計第01章_第2頁
第2頁 / 共23頁
Java語言程序設(shè)計第01章_第3頁
第3頁 / 共23頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《Java語言程序設(shè)計第01章》由會員分享,可在線閱讀,更多相關(guān)《Java語言程序設(shè)計第01章(23頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,第,1,章,Java,語言概述,Java,語言是由,Sun,公司于,1995,年推出的一種新的編程語言,它是一種跨平臺、適合于分布式計算環(huán)境的純面向?qū)ο笳Z言。,Java,語言及其擴(kuò)展正在逐步成為互聯(lián)網(wǎng)應(yīng)用的規(guī)范,掀起了自,PC,機(jī)以來的又一次技術(shù)革命。本章主要介紹,Java,語言的起源、特點、簡單示例等。,1.1 Java,語言的起源和發(fā)展,1.2,面向?qū)ο蟮某绦蛟O(shè)計,1.3 Java,語言的特點,1.4 Java,程序的運(yùn)行,Return,1.1 Java,語言的起源和發(fā)展,1.1.1,幾種典型語言的發(fā)

2、展歷程,1.1.2,Java,語言的起源,1.1.3,Java,語言的發(fā)展,Return,一般認(rèn)為,,B,語言導(dǎo)致了,C,語言的誕生、,C,語言演變出,C+,語言,而,Java,語言則明顯帶有,C+,語言的特征。本節(jié)將對,Java,語言的起源和發(fā)展作簡要介紹。,1.1.1,幾種典型語言的發(fā)展歷程,Return,Java,總是和,C+,聯(lián)系在一起,而,C+,則是從,C,語言派生而來的,所以,Java,語言繼承了這兩種語言的大部分特性。,Java,的語法是從,C,繼承的,,Java,許多面向?qū)ο筇匦远际艿?C+,的影響。事實上,,Java,中幾個自定義的特性都來自于或可以追溯到它的這些前驅(qū)語言。略

3、有不同的是,,Java,語言完全面向?qū)ο?,從而摒棄了二者的不足之處?Java,語言的誕生與過去約30年中計算機(jī)語言的不斷改進(jìn)和發(fā)展密切相關(guān)?;谶@些原因,下面我們將簡要介紹一下這個發(fā)展歷程。,1,現(xiàn)代編程語言的誕生:,C,語言,2,對編程方法的新需要:,C+,語言,3,時機(jī)的到來:,Java,語言的出現(xiàn),1.1.2 Java,語言的起源,Return,Java,是由,James Gosling、Patrick,Naughton,、Chris,Warth,、Ed Frank,以及,Mike Sheridan,等人于1991年在,Sun Microsystems,公司設(shè)計出來的,開發(fā)第一個版本花

4、了18個月時間。該語言最初名叫“,Oak”,,后來發(fā)現(xiàn)“,Oak”,已經(jīng)是,Sun,公司另外一種語言的注冊商標(biāo),于1995年更名為“,Java”,,即太平洋上一個盛產(chǎn)咖啡的島嶼的名字。從1992 的秋天,Oak,問世,到1995春天公開發(fā)布,Java,語言,許多人都對,Java,的設(shè)計和改進(jìn)做出了貢獻(xiàn)。,1.1.3 Java,語言的發(fā)展,Return,自從于1995年被正式推出之后,,Java,語言就以其獨特的優(yōu)勢迅猛發(fā)展,經(jīng)過短短8、9年時間,成為迄今為止最為優(yōu)秀的面向?qū)ο笳Z言。,Java,也從當(dāng)初的一種語言而逐漸形成一種產(chǎn)業(yè),基于,Java,語言的,J2EE,架構(gòu)已成為微軟.,NET,平臺

5、的強(qiáng)大競爭對手。,當(dāng)初,,Java,語言最初的發(fā)布不亞于一場革命,但是它并不標(biāo)志著,Java,快速革新時代的結(jié)束。,在,Java 1.0,發(fā)布后不久,,Java,的設(shè)計者就已經(jīng)制定出了,Java 1.1、Java 1.2、Java 1.3、Java 1.4、Java 2、Java 2.1.4,版。,1.2,面向?qū)ο蟮某绦蛟O(shè)計,1.2.1,面向?qū)ο蠹夹g(shù)的提出,1.2.2,面向?qū)ο蟮木幊趟枷?1.2.3,面向?qū)ο缶幊痰幕驹瓌t,Return,面向?qū)ο蟮木幊趟枷胗蓙硪丫?,但真正意義上的純面向?qū)ο缶幊陶Z言目前只有,Java。,本節(jié)將結(jié)合幾種高級語言對面向?qū)ο蟪绦蛟O(shè)計思想進(jìn)行簡要介紹。,1.2.1,面向

6、對象技術(shù)的提出,Return,我們知道,所有的計算機(jī)程序均由兩類元素組成:代碼和數(shù)據(jù)。如何實現(xiàn)這兩類元素的有效結(jié)合而形成可運(yùn)行的程序,是多年來程序設(shè)計人員所探索的問題。最初,程序的構(gòu)筑一般圍繞“正在發(fā)生什么”而編寫代碼,這種方法被稱為面向過程的編程。使用這種方法編寫的程序都具有線性執(zhí)行的特點。面向過程的編程模型可認(rèn)為是代碼作用于數(shù)據(jù),像,Pascal、C,這樣的過程式語言采用此模型是相當(dāng)成功的。然而,使用面向過程的方法對小程序的編寫可能是比較有效的,但當(dāng)程序變得非常大且更為復(fù)雜時,就會出現(xiàn)種種問題,直至失去對代碼的有效控制。由此對軟件工程中的編程方法問題提出了新的要求。,為了管理不斷增加的復(fù)雜

7、性,另外一種編程方式被提了出來,即面向?qū)ο蟮木幊蹋?OOP,Object-Oriented Programming)。,這種編程方式圍繞“誰將受到影響”進(jìn)行,即以代碼的相關(guān)數(shù)據(jù)為核心點進(jìn)行程序編寫。面向?qū)ο蟮木幊讨塾谒臄?shù)據(jù)(即對象)和為此數(shù)據(jù)嚴(yán)格定義的接口來組織程序,程序?qū)嶋H上是用數(shù)據(jù)控制對代碼的訪問。這種方式的最大特點是代碼與其相關(guān)數(shù)據(jù)被分離開來進(jìn)行處理,有利于程序規(guī)模的擴(kuò)大,而程序的可維護(hù)性得到增強(qiáng)。,1.2.2,面向?qū)ο蟮木幊趟枷?Return,前面提到的面向過程程序,它遵循面向過程的問題求解方法,其中心思想是用計算機(jī)能夠理解的邏輯來描述和表達(dá)待解決的問題及其具體的解決流程。數(shù)據(jù)結(jié)構(gòu)

8、和算法是面向過程問題求解的核心所在。而面向?qū)ο蠹夹g(shù)則代表了一種全新的程序設(shè)計思路,其觀察、表述、處理問題的方法,與傳統(tǒng)的面向過程的編程方法不同。面向?qū)ο蟮某绦蛟O(shè)計和問題求解力求符合人們?nèi)粘W匀坏乃季S習(xí)慣,盡量分解、降低問題的難度和復(fù)雜性,從而提高整個求解過程的可監(jiān)測性、可控制性和可維護(hù)性,以此達(dá)到以較小代價和較高效率獲得較滿意效果之目的。,面向?qū)ο缶幊桃粋€實質(zhì)性的要素是抽象。,1.2.3,面向?qū)ο缶幊痰幕驹瓌t,1,封裝性,封裝(,Encapsulation,),是將代碼及其處理的數(shù)據(jù)綁定在一起的一種編程機(jī)制,該機(jī)制保證了程序和數(shù)據(jù)都不受外部干擾且不被誤用。一個對象的基本要素包括屬性和作用在屬

9、性上的操作(方法或事件)。對象的使用實現(xiàn)了數(shù)據(jù)抽象,它將一組數(shù)據(jù)和對這組數(shù)據(jù)的操作結(jié)合成一個內(nèi)在的整體,不允許外界對這組數(shù)據(jù)任意進(jìn)行訪問,這里就用到了封裝的原理。封裝的目的是為了實現(xiàn)數(shù)據(jù)隱藏和數(shù)據(jù)保護(hù),為對象提供一個對外操作的接口,外界只能從對象所提供的操作接口來認(rèn)識和操作該對象。,一般說來,面向?qū)ο蟮南到y(tǒng)至少需具備三大特性:封裝性、繼承性、多態(tài)性。將封裝、繼承、多態(tài)(包括重載)等面向?qū)ο蠓椒☉?yīng)用于程序的開發(fā)工具和開發(fā)過程中,不僅可以加快開發(fā)的速度,還可極大地增強(qiáng)程序的可維護(hù)性和可擴(kuò)展性,提高代碼重用率。因此,在面向?qū)ο缶幊踢^程中需要遵循這三項原則。下面對它們分別作簡要介紹。,2.,繼承性,繼

10、承(,Inheritance),是一個對象獲得另一個對象的屬性的過程。繼承很重要,因為它支持了層級分類的思想。眾所周知,大多數(shù)事物均可按層級(即從上到下、從高到低)分類管理。顯然,如果不使用層級的概念,在進(jìn)行描述時,我們就不得不分別定義每個事物的所有屬性。使用了繼承,一個對象就只需定義使它在所屬類中獨一無二的屬性即可,因為它可以從它的父類那里繼承其他所有的通用屬性。所以,完全可以這樣說,正是繼承機(jī)制使一個對象成為一個更具通用性的類的一個特定實例成為可能。,繼承是現(xiàn)實生活中一個非常容易理解的概念。在面向?qū)ο蟮某绦蛟O(shè)計方法中,引入繼承機(jī)制的目的在于:其一,避免可公用代碼的重復(fù)開發(fā),減少數(shù)據(jù)冗余;其

11、二,增強(qiáng)數(shù)據(jù)的一致性,盡量降低模塊間的耦合程度。,3,多態(tài)性,多態(tài)(,Polymorphism),來自于希臘語,表示“多種形態(tài)”,即允許一個接口被多個同類動作所使用的特征,具體使用哪個動作與應(yīng)用場合有關(guān)。所謂多態(tài)性就是當(dāng)不同的對象收到相同的消息時,產(chǎn)生不同動作的特性。這里所說的消息可以理解為方法或事件。通俗地講,多態(tài)性就是使用一個名稱來定義不同的方法,這些方法執(zhí)行類似的但又不同的操作,即以相同的接口來訪問功能不同的函數(shù),從而實現(xiàn)“一個接口,多種方法”。,Return,4多態(tài)性、封裝性與繼承性的相互作用,如果使用得當(dāng),在由多態(tài)性、封裝性和繼承性共同組成的編程環(huán)境中可以寫出比面向過程模型環(huán)境更健壯

12、、擴(kuò)展性更好的程序。精心設(shè)計的類層級結(jié)構(gòu)是實現(xiàn)代碼可重用性的基礎(chǔ);封裝可以使你在不破壞依賴于類公共接口的代碼基礎(chǔ)上對程序進(jìn)行升級遷移;而多態(tài)性則有助于編寫清晰、易懂、易讀、易修改的程序。,1.3 Java,語言的特點,1.3.1,語言特點概述,1.3.2,Java,語言的具體特點,1.3.3,Java,和,C/C+,的比較,Return,作為當(dāng)前一種被廣泛使用的面向?qū)ο缶幊陶Z言,,Java,具有多方面的特點。如果與其他眾多的編程語言作一下比較,會發(fā)現(xiàn)這些特點正是,Java,語言之所以如此風(fēng)靡的原因所在。雖然,Java,在某些方面(例如資源耗費(fèi))也存在一些不足,但這絲毫不影響,Java,作為目前

13、最優(yōu)秀面向?qū)ο缶幊陶Z言的地位。,1.3.1,語言特點概述,1,Java,的靈魂:字節(jié)碼,2,Java,的內(nèi)涵:豐富的類庫,Return,Java,是一種被廣泛使用的網(wǎng)絡(luò)編程語言,這是一種新的計算概念。網(wǎng)絡(luò)環(huán)境下的編程語言最需要解決的是可移植性和安全性問題。以字節(jié)方式進(jìn)行編碼,使得程序不受運(yùn)行平臺和環(huán)境的限制成為可能。,Java,語言還提供了豐富的類庫,使程序設(shè)計人員可以很方便地調(diào)用相關(guān)類建立起自己的系統(tǒng)。主要表現(xiàn)在:,1.3.2 Java,語言的具體特點,1.簡單性,2.面向?qū)ο?3.分布性,4,.,魯棒性,5,.可移植性,Return,Java,作為一種高級程序設(shè)計語言,它除具有面向?qū)ο蟆⒕?/p>

14、寫簡單、脫離機(jī)器結(jié)構(gòu)、具有分布性、魯棒性、可移植性、安全性特點外,并且提供了并發(fā)機(jī)制,解釋執(zhí)行具有很高的性能。同時,還具有動態(tài)性特點。主要表現(xiàn)在:,6.安全性,7,.,結(jié)構(gòu)中立,8,.高性能,9.多線程,10,.,動態(tài)性,1.3.3 Java,和,C/C+,的比較,Return,對于變量聲明、參數(shù)傳遞、操作符、流控制等,,Java,使用了和,C/C+,相同的風(fēng)格,這使得熟悉,C/C+,的程序員能很方便地進(jìn)行編程語言切換。同時,,Java,實現(xiàn)并加強(qiáng)了其簡單、魯棒、安全等特性,也摒棄了,C,和,C+,中許多不合理的地方。主要表現(xiàn)在:,1.頭文件,2.全局變量,3.指針,4,.,內(nèi)存管理,5,.數(shù)

15、據(jù)類型支持,6,.,類型轉(zhuǎn)換,7,.結(jié)構(gòu)和聯(lián)合,8.,預(yù)處理,1.4,Java,程序的運(yùn)行,1.4.1,Java,運(yùn)行環(huán)境的安裝與配置,1.4.2,第一個,Java,程序,1.4.3,兩種類型的,Java,程序,1.4.4,Java,環(huán)境的有關(guān)工具,1.4.5,Java,程序的編寫開發(fā)工具,Return,由于,Java,是采用,Java,虛擬機(jī)進(jìn)行解釋執(zhí)行的編程語言,它需要一定的軟件支撐環(huán)境才能夠運(yùn)行起來。本節(jié)將先介紹,Java,的運(yùn)行環(huán)境,然后介紹,Java,程序的編寫。,1.4.1,Java,運(yùn)行環(huán)境的安裝與配置,Return,編寫并運(yùn)行,Java,程序,需要,Java,開發(fā)工具包(,JD

16、K,Java Development Kit),的支持。因此在編寫自己的第一個,Java,程序前,讀者需要先在自己的機(jī)器上安裝,JDK。,到目前為止,,JDK,的發(fā)展經(jīng)歷了,JDK 1.0、JDK 1.1、JDK 1.2、JDK 1.3、JDK 1.4,等幾個版本。,1.4.2,第一個,Java,程序,說明:,保留字,class,來聲明一個新的類,其類名為,HelloWorldApp,,,它是一個公共類(,public,)。,整個類定義由大括號對,括起來。在該類中,定義了一個,main(),方法,其中,public,表示訪問權(quán)限,指明所有的類都可以使用這一方法;,static,指明該方法是一個類方法,它可以通過類名直接調(diào)用;,void,則指明,main(),方法不返回任何值。對于一個應(yīng)用程序來說,,main(),方法是必需的,而且必須按照如上的格式來定義。,Java,解釋器在沒有生成任何實例的情況下,以,main(),作為入口來執(zhí)行程序。,Java,程序中可以定義多個類,每個類中可以定義多個方法,但是最多只有一個公共類,,main(),方法也只能有一個,作為程序的入口。在,main()

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!