![《java程序設(shè)計-韓曉紅》第1章-概述_第1頁](http://file4.renrendoc.com/view/b47ac167a4baebf262f0218d2f3b7ba3/b47ac167a4baebf262f0218d2f3b7ba31.gif)
![《java程序設(shè)計-韓曉紅》第1章-概述_第2頁](http://file4.renrendoc.com/view/b47ac167a4baebf262f0218d2f3b7ba3/b47ac167a4baebf262f0218d2f3b7ba32.gif)
![《java程序設(shè)計-韓曉紅》第1章-概述_第3頁](http://file4.renrendoc.com/view/b47ac167a4baebf262f0218d2f3b7ba3/b47ac167a4baebf262f0218d2f3b7ba33.gif)
![《java程序設(shè)計-韓曉紅》第1章-概述_第4頁](http://file4.renrendoc.com/view/b47ac167a4baebf262f0218d2f3b7ba3/b47ac167a4baebf262f0218d2f3b7ba34.gif)
![《java程序設(shè)計-韓曉紅》第1章-概述_第5頁](http://file4.renrendoc.com/view/b47ac167a4baebf262f0218d2f3b7ba3/b47ac167a4baebf262f0218d2f3b7ba35.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Java程序設(shè)計主講:韓曉紅郵箱:2022/7/61ppt課件理論學(xué)時 32實(shí)驗學(xué)時 810-19周(其中13,16,18,19周的星期一上實(shí)驗)明向校區(qū)機(jī)房軟件210,211.要求:按照教學(xué)大綱,教學(xué)計劃,依據(jù)教材內(nèi)容完成教學(xué)任務(wù)。按時上課,認(rèn)真聽講,課后討論。按實(shí)驗任務(wù)要求完成程序設(shè)計,按時提交實(shí)驗報告。課程安排及要求2ppt課件1.同學(xué)們目前都學(xué)過什么程序設(shè)計語言?2.開發(fā)過什么軟件?3.這些語言有什么特點(diǎn)?4.計算機(jī)程序設(shè)計語言的發(fā)展過程?為什么要學(xué)習(xí)Java?3ppt課件高層評價PC Magazine評Java為1995年十大優(yōu)秀科技產(chǎn)品 ;比爾蓋茨(Bill Gates) “Jav
2、a是長時間以來最卓越的程序設(shè)計語言” ;環(huán)球信息網(wǎng)WWW的創(chuàng)始人Berners-Lee說:“計算機(jī)事業(yè)發(fā)展的下一個浪潮就是 Java,并且將很快會發(fā)生的” 。4ppt課件第1章 概述本章主要內(nèi)容: Java語言的發(fā)展歷程 Java語言的特點(diǎn) Java平臺的類型 Java的基本學(xué)習(xí)方法5ppt課件1Java語言有那些特點(diǎn)?2為什么說Java是結(jié)構(gòu)中立的,具有跨平臺特性?3簡述Java的3種主要平臺,這些適合開發(fā)那種應(yīng)用?4什么是JDK、JRE、JVM,簡述三者之間的關(guān)系。解決4個問題:6ppt課件1.1 Java語言1.1.1 Java語言發(fā)展歷程簡介 1991年,SUN MicroSystem
3、公司的 Jame Gosling、 Patrick Naughton,設(shè)計一種計算機(jī)語言,用于機(jī)頂盒,手機(jī),個人數(shù)字助理等家用消費(fèi)類電子產(chǎn)品,當(dāng)時的設(shè)備要求:語言小,跨平臺。必須使用JVM實(shí)現(xiàn)跨平臺。 什么是JVM?? 用C+,但C+過于龐大,安全性問題,開發(fā)一種新的語言,吸收C/C+的優(yōu)點(diǎn),拋棄不足,命名為OAK,后改名為JAVA.Sun Microsystems, Inc. - Palo Alto, Silicon Valley, USA. 印度橡樹OAK7ppt課件1.1 Java語言1.1.1 Java語言發(fā)展歷程簡介8ppt課件1.1 Java語言1.1.2 Java語言的特點(diǎn)1.平
4、臺無關(guān)性 無論哪種編程語言編寫的程序最終都需要OS和CPU來完成程序的運(yùn)行,平臺無關(guān)性是指軟件的運(yùn)行不因OS、CPU的變化導(dǎo)致程序無法運(yùn)行或出現(xiàn)運(yùn)行錯誤。9ppt課件1.1 Java語言1.1.2 Java語言的特點(diǎn)1.平臺無關(guān)性 10ppt課件1.1.2 Java語言的特點(diǎn)2.面向?qū)ο?Java語言吸取了C+面向?qū)ο蟮母拍?,將?shù)據(jù)封裝于類中,是完全面向?qū)ο蟮?。除了很少的基本?shù)據(jù)類型,所有的數(shù)據(jù)都作為對象呈現(xiàn),所有的GUI構(gòu)建都是對象。與C+不同,Java語言中的所有函數(shù)都必須和對象相關(guān)(這些函數(shù)被稱為類方法),即使用于啟動應(yīng)用程序的主函數(shù)也不再是孤立的,必須捆綁在類中。1.1 Java語言1
5、1ppt課件3.簡單性 Java自身小巧玲瓏,對硬件的要求很低。只需要理解一些基本的概念,就可以編寫適合于不同情況的應(yīng)用程序。在Java中略去了運(yùn)算符重載、多重繼承等概念,并實(shí)現(xiàn)了垃圾自動收集大大簡化了程序設(shè)計者的內(nèi)存管理工作。4.安全性 Java舍棄了C+的指針對存儲器地址的直接操作,程序運(yùn)行時,內(nèi)存由OS分配,這樣可以避免病毒通過指針侵入系統(tǒng),也避免了指針操作中易產(chǎn)生的錯誤。Java對程序提供了安全管理器,防止程序的非法訪問。1.1 Java語言12ppt課件1.1 Java語言5.分布式 Java的分布性包括操作分布和數(shù)據(jù)分布,其中操作分布是指在多個不同的主機(jī)上布置相關(guān)操作,而數(shù)據(jù)分布是
6、將數(shù)據(jù)分別存放在多個不同的主機(jī)上,這些主機(jī)是網(wǎng)絡(luò)中的不同成員。6.健壯性Java在編譯和運(yùn)行程序時,都要對可能出現(xiàn)的問題進(jìn)行檢查,以消除錯誤的產(chǎn)生。它提供自動垃圾收集進(jìn)行內(nèi)存管理,防止了內(nèi)容丟失等動態(tài)內(nèi)存分配導(dǎo)致的問題。Java不支持指針,從而防止了對內(nèi)存的非法訪問。Java提供了完善的異常處理機(jī)制,程序員可以把一組可能產(chǎn)生運(yùn)行異常的代碼放在異常處理結(jié)構(gòu)中,簡化了異常處理過程,增加了程序的健壯性。13ppt課件7.解釋型C/C+等語言都是針對CPU和OS進(jìn)行編譯,生成機(jī)器代碼,該代碼的運(yùn)行就和特定CPU和OS的有關(guān)。不同于C/C+語言,Java不針對CPU和OS進(jìn)行編譯,而是把程序編譯成很接近
7、機(jī)器碼的“中間代碼”(即:字節(jié)碼文件),由JVM解釋執(zhí)行。8.多線程多線程技術(shù)允許同一個程序中有兩個以上的執(zhí)行線路,即同時做兩件以上的事情。Java支持多線程,允許多個線程共存于同一塊內(nèi)存中,且共享資源。1.1 Java語言14ppt課件1.1 Java語言1.1.3 Java語言與C/C+的比較 Java語言的風(fēng)格與C/C+非常類似,對于變量聲明、參數(shù)傳遞、操作符、流程控制等語法,Java均使用了C/C+相同的傳統(tǒng),使得熟悉C/C+的程序員能很方便地進(jìn)行Java編程。但是,由于C+兼容C語言,影響了其面向?qū)ο蟮膹氐仔浴ava則是完全的面向?qū)ο笳Z言,它句法更清晰,規(guī)模更小,更易學(xué)。它是在對多
8、種程序設(shè)計語言進(jìn)行了深入細(xì)致研究的基礎(chǔ)上,摒棄了其他語言的不足之處,從根本上解決了C/C+的固有缺陷。 1.指針 Java語言不支持指針,且增添了自動的內(nèi)存管理功能,從而有效地防止了C+語言中指針操作失誤(如內(nèi)存泄漏等)。但也不是說Java沒有指針,虛擬機(jī)內(nèi)部還是使用了指針,只是程序員不能使用而已,這樣提高了Java程序的安全。2022/7/615ppt課件2.多重繼承 C+支持多重繼承,它允許一個類繼承多個父類。多重繼承的現(xiàn)象在現(xiàn)實(shí)世界中普遍存在,功能很強(qiáng),但其使用復(fù)雜,而且會引起許多麻煩,編譯程序也不容易實(shí)現(xiàn)。Java不支持多重繼承,但允許一個類繼承多個接口(extends + imple
9、ment),也能實(shí)現(xiàn)多重繼承的功能,且避免了C+中的多重繼承實(shí)現(xiàn)方式帶來的諸多不便。3.數(shù)據(jù)類型及類 Java是完全面向?qū)ο蟮恼Z言,所有函數(shù)和變量都必須是類的一部分。除了基本數(shù)據(jù)類型之外,其余的都作為類對象。而C+允許將函數(shù)和變量定義為全局的。此外,Java中取消了CC+中的結(jié)構(gòu)和聯(lián)合,消除了不必要的麻煩。16ppt課件4.自動內(nèi)存管理 Java程序中所有的對象都是用new操作符建立在內(nèi)存堆棧上,自動進(jìn)行無用內(nèi)存回收操作,不需要程序員進(jìn)行刪除。而C+中必須由程序員釋放內(nèi)存資源,增加了程序設(shè)計者的負(fù)擔(dān),且增加了程序的風(fēng)險。Java中當(dāng)一個對象不再被用到時,垃圾回收器將給它加上標(biāo)簽以示刪除。5.操
10、作符重載 為了保證語言盡可能簡單,Java不支持操作符重載。操作符重載被認(rèn)為是C+的突出特征 。17ppt課件6.預(yù)處理功能 Java不支持預(yù)處理功能。CC+在編譯過程中都有一個預(yù)編譯階段,為開發(fā)人員提供了方便,但增加了編譯的復(fù)雜性。Java虛擬機(jī)沒有預(yù)處理器,但它提供的引入語句(import)與C+預(yù)處理器的功能類似。 7. Java不支持全局變量和函數(shù) 作為一個比C+更純的面向?qū)ο蟮恼Z言,Java中所有的變量和函數(shù)都應(yīng)包括在類中。8.字符串 Java中字符串是用類對象(String和StringBuffer)來實(shí)現(xiàn)的,這些類是Java語言的核心,使得Java語言的字符串處理比C+更方便。1
11、8ppt課件9.goto語句 goto語句容易引起程序結(jié)構(gòu)混亂,因此結(jié)構(gòu)化編程不建議采用goto語句。Java雖然指定goto作為關(guān)鍵字,但不支持goto語句,使程序簡潔易讀。l0.類型轉(zhuǎn)換 在C和C+中有時出現(xiàn)數(shù)據(jù)類型的隱含轉(zhuǎn)換,這就涉及了自動強(qiáng)制類型轉(zhuǎn)換問題。例如,在C+中可將一浮點(diǎn)值賦予整型變量,并去掉其尾數(shù)。Java不支持C+中的自動強(qiáng)制類型轉(zhuǎn)換,如果需要,必須由程序顯式進(jìn)行強(qiáng)制類型轉(zhuǎn)換。19ppt課件1.1 Java語言1.1.4 Java平臺 Java的開發(fā)平臺(JDK)是開發(fā)人員用來構(gòu)建Java應(yīng)用程序的軟件包,它包括:JVM、javac、JVR、Javadoc。目前,Java的
12、運(yùn)行平臺主要分為下列3個版本。 1.Java標(biāo)準(zhǔn)版 Java標(biāo)準(zhǔn)版即Java SE,曾被稱為J2SE。Java SE提供了標(biāo)準(zhǔn)的JDK開發(fā)平臺,利用該平臺可以開發(fā)桌面應(yīng)用程序、低端的服務(wù)器應(yīng)用程序以及Java Applet程序。學(xué)習(xí)Java應(yīng)當(dāng)從Java SE開始,本書主要介紹Java SE。 2.Java微型版 Java微型版即Java ME,曾被稱為J2ME。Java ME是一種很小的Java運(yùn)行環(huán)境,用于嵌入式的消費(fèi)產(chǎn)品中,例如手機(jī)、平板電腦和各種輕量智能設(shè)備等。 3.Java企業(yè)版 Java企業(yè)版即Java EE,曾被稱為J2EE??梢詷?gòu)建企業(yè)級的服務(wù)應(yīng)用。Java EE平臺包含了Ja
13、va SE,并增加了附加類庫,以便支持目錄管理、交易管理和企業(yè)級消息處理等功能。20ppt課件1.2 面向?qū)ο蠡靖拍?.2.1 對象與類1.對象 世界是由各種各樣的對象(Object)組成的,客觀世界中任何一個事物均可以看成是對象。世界上既存在著許多類型相同的對象,也存在著許多類型不相同的對象。例如,一輛自行車和一輛汽車是類型不同的兩個對象,而張三的自行車和李四的自行車可以看成是類型相同的兩個對象。 對象是有狀態(tài)(數(shù)據(jù))和行為(功能)等內(nèi)容的。例如:要說明一個學(xué)生,需要提供姓名、學(xué)號、出生日期、專業(yè)、興趣愛好等,這些用于描述對象的數(shù)據(jù)元素稱為對象屬性。而學(xué)生的行為會包括注冊、選課、考試等,這
14、些表示對象可能產(chǎn)生的操作稱為對象的行為(或操作、方法)。2022/7/621ppt課件1.2 面向?qū)ο蠡靖拍?.類 類(class)是同一類型對象的抽象,對象是類的實(shí)例化。類定義了每個屬于該類的對象的數(shù)據(jù)結(jié)構(gòu)(即類的屬性或成員變量)以及由這些對象執(zhí)行的操作或方法(即類的成員方法或操作)。例如,構(gòu)建一個Person類,其包含的成員變量和成員方法可用圖1-2來描述: 與現(xiàn)實(shí)世界類似,類中定義的成員變量和成員方法是有不同訪問權(quán)限的;另一方面,類之間存在一些關(guān)系(如繼承關(guān)系)。圖1-2 Person類圖2022/7/622ppt課件1.2 面向?qū)ο蠡靖拍?.2.2 面向?qū)ο蟮娜齻€特性1.封裝 面向
15、對象編程的核心思想之一就是將數(shù)據(jù)和對數(shù)據(jù)的操作封裝在一起。通過抽象,從具體的實(shí)例中抽取共同的性質(zhì)形成一般的概念(即類)。2.繼承 繼承體現(xiàn)了一種先進(jìn)的編程模式。子類可以繼承父類的屬性和功能,即繼承了父類所具有的數(shù)據(jù)和數(shù)據(jù)上的操作,可以增加子類獨(dú)有的數(shù)據(jù)和數(shù)據(jù)上的操作,也可以修改父類的數(shù)據(jù)和數(shù)據(jù)上的操作。3.多態(tài) 多態(tài)是面向?qū)ο缶幊痰挠忠恢匾卣?。從軟件的角度看,多態(tài)是指操作名稱相同,但實(shí)現(xiàn)的功能不同。如計算面積可以統(tǒng)一使用area()方法,但是根據(jù)操作接受的參數(shù)的不同,可以實(shí)現(xiàn)計算圓的面積、長方形的面積等等。Java中使用方法覆蓋、方法重載、接口等技術(shù)實(shí)現(xiàn)這種多態(tài)性,具體內(nèi)容詳見本書5.3節(jié)。
16、2022/7/623ppt課件1.3 Java語言基本學(xué)習(xí)方法“讀、寫、查”是最好的程序設(shè)計的學(xué)習(xí)方法,Java也不例外。(1)讀已有的java程序“讀”是Java學(xué)習(xí)的第一步,通過閱讀已有的Java例程,一方面可以幫助讀者理解和掌握J(rèn)ava程序的基本結(jié)構(gòu)和語法,另一方面,讀者在Java程序設(shè)計過程中,經(jīng)常需要參考已有例程中的部分代碼來解決實(shí)際問題,這時就要求程序員有非常過硬的“讀程序”的基本功。(2)多寫代碼最好的程序設(shè)計學(xué)習(xí)方法就是寫代碼,通過不斷的寫代碼,才能真正提高解決問題的實(shí)踐能力。在Java學(xué)習(xí)過程中,可以通過幾種不同形式的“寫”來提高Java實(shí)際編程能力。默寫例程改寫程序2022
17、/7/624ppt課件【例1-1】修改Hello World以最簡單的Hello World 程序為例,其源代碼如下:public class HelloWorld public static void main(String args) System.out.println(Hello World);為什么main方法一定要這樣來定義public static void main(String args)?其中包含那些知識點(diǎn)呢?這時就可以利用程序改寫的方法來理解這些語法現(xiàn)象。試著將main改個名字運(yùn)行一下,看看報什么錯誤,然后根據(jù)出錯信息進(jìn)行分析;把main的public修飾符取掉,再試試看
18、,報什么錯誤?static去掉還能不能運(yùn)行?通過把Hello World程序反復(fù)改了七八次,不斷運(yùn)行,分析運(yùn)行結(jié)果,最后就徹底明白為什么main方法是這樣定義的了。1.3 Java語言基本學(xué)習(xí)方法25ppt課件(3)主動編寫程序Java提供了豐富的類庫,可以通過編寫一些測試小程序來幫助學(xué)習(xí)相關(guān)的類。當(dāng)學(xué)習(xí)一個類以后,就可以寫個簡單的例子程序來運(yùn)行一下,看看有什么結(jié)果,然后再多調(diào)用幾個類的方法,看看運(yùn)行結(jié)果,這樣非常直觀的把類給學(xué)會了,而且記憶非常深刻。最后,Java的基礎(chǔ)語法要熟練掌握,實(shí)際開發(fā)中經(jīng)常使用的技術(shù)要牢牢掌握。通過不斷地編寫Java程序,不斷地解決實(shí)際問題,才能稱為一名優(yōu)秀的Java程序設(shè)計人員。在解決具體問題過程中,要學(xué)會利用JDK文檔和豐富的Java資源來快速解決編程過程中出現(xiàn)的問題。1.3 Java語言基本學(xué)習(xí)方法26ppt課件本章小結(jié) Java從推出以來,已經(jīng)發(fā)展到了Java 7.0.x,并提供三種不同的開發(fā)平臺(即Java EE、Java SE和Java ME),適用于不同
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年企業(yè)福利協(xié)議范本
- 2025年藥用空心膠囊項目規(guī)劃申請報告模稿
- 2025年區(qū)域一體化發(fā)展戰(zhàn)略規(guī)劃協(xié)議
- 2025年農(nóng)業(yè)產(chǎn)品買賣合同規(guī)范
- 2025年產(chǎn)品分銷權(quán)合同
- 2025年公共區(qū)域綠化苗木合同
- 2025年中介企業(yè)勞務(wù)合作合同樣本
- 2025年離婚協(xié)議書財產(chǎn)分割及子女撫養(yǎng)策劃大綱
- 2025年港口業(yè)投資項目規(guī)劃申請報告模范
- 2025年聚醚多元醇項目提案報告模稿
- GB 4706.20-2004家用和類似用途電器的安全滾筒式干衣機(jī)的特殊要求
- 無紙化會議系統(tǒng)解決方案
- 佛教空性與緣起課件
- 上海鐵路局勞動安全“八防”考試題庫(含答案)
- 《愿望的實(shí)現(xiàn)》教學(xué)設(shè)計
- 效率提升和品質(zhì)改善方案
- 中山大學(xué)抬頭信紙中山大學(xué)橫式便箋紙推薦信模板a
- 義務(wù)教育學(xué)科作業(yè)設(shè)計與管理指南
- 《汽車發(fā)展史》PPT課件(PPT 75頁)
- 常暗之廂(7規(guī)則-簡體修正)
- 反詐騙防詐騙主題教育宣傳圖文PPT教學(xué)課件
評論
0/150
提交評論