第1章Java語(yǔ)言概述_第1頁(yè)
第1章Java語(yǔ)言概述_第2頁(yè)
第1章Java語(yǔ)言概述_第3頁(yè)
第1章Java語(yǔ)言概述_第4頁(yè)
第1章Java語(yǔ)言概述_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章Java語(yǔ)言概述學(xué)習(xí)導(dǎo)讀本章著重介紹Java語(yǔ)言中的背景知識(shí)和基本概念。具體涉及:本章將簡(jiǎn)要介紹軟件開發(fā)方法的變革面向?qū)ο蟪绦蛟O(shè)計(jì)中的基本概念介紹Java語(yǔ)言的特點(diǎn)及開發(fā)Java程序的基本步驟等,使讀者對(duì)面向?qū)ο筌浖_發(fā)方法的基本思想和特點(diǎn)有一定的了解介紹Java語(yǔ)言特點(diǎn)、與C/C++的主要差異、Java程序執(zhí)行過程、Java運(yùn)行環(huán)境及開發(fā)工具等基本知識(shí)。課程結(jié)構(gòu)1.1面向?qū)ο蟮能浖_發(fā)概述1.2面向?qū)ο蟮幕靖拍?.3Java語(yǔ)言概述1.1面向?qū)ο蟮能浖_發(fā)概述1.面向?qū)ο蟮能浖_發(fā)的發(fā)展分成四個(gè)階段:60年代:編程人員只能依靠個(gè)人的技巧、經(jīng)驗(yàn)和智慧發(fā)展,針對(duì)特定問題,根據(jù)所需功能,制定相應(yīng)的解決方法;70年代:軟件開發(fā)采用系統(tǒng)方法,通過遵從一系列規(guī)范進(jìn)行開發(fā)的階段;80年代:管理系統(tǒng)的結(jié)構(gòu),管理系統(tǒng)各部分之間的接口,將系統(tǒng)各部分集成為一體等成為軟件系統(tǒng)開發(fā)技術(shù)的焦點(diǎn)。強(qiáng)調(diào)團(tuán)隊(duì)合作;90年代:出現(xiàn)了基于客觀世界的對(duì)象模型的軟件開發(fā)方法。1.1面向?qū)ο蟮能浖_發(fā)概述2.面向?qū)ο蟮能浖_發(fā)方法定義面向?qū)ο蟮能浖_發(fā)方法按問題論域來(lái)設(shè)計(jì)模塊,以對(duì)象代表問題解的中心環(huán)節(jié),力求符合人們?nèi)粘5乃季S習(xí)慣;采用“對(duì)象+消息”的程序設(shè)計(jì)模式,降低或分解問題的難度和復(fù)雜性,從而以較小的代價(jià)和較高的收益獲得較滿意的效果,滿足軟件工程發(fā)展需要。1.1面向?qū)ο蟮能浖_發(fā)概述3.面向?qū)ο箝_發(fā)方法的意義面向?qū)ο箝_發(fā)方法的出現(xiàn)和廣泛應(yīng)用是計(jì)算機(jī)軟件技術(shù)發(fā)展的一個(gè)重要變革和飛躍;面向?qū)ο蠹夹g(shù)能夠更好地適應(yīng)當(dāng)今軟件開發(fā)在規(guī)模、復(fù)雜性、可靠性和質(zhì)量、效率上的種種要求,因而被越來(lái)越多地推廣和使用;其方法本身也在這諸多實(shí)踐的檢驗(yàn)和磨練中日趨成熟、標(biāo)準(zhǔn)化和體系化,逐漸成為目前公認(rèn)的主流軟件開發(fā)方法。1.2面向?qū)ο蟮幕靖拍?.對(duì)象、類和消息對(duì)象就是現(xiàn)實(shí)世界中某個(gè)具體的物理實(shí)體在計(jì)算機(jī)中的映射和體現(xiàn)類描述對(duì)象的“基本原型”,是描述性的類別或模板,即對(duì)一組對(duì)象的抽象。它定義一組對(duì)象所能擁有的共同特征(屬性和能完成的操作),用以說(shuō)明該組對(duì)象的能力與性質(zhì)。所謂的消息驅(qū)動(dòng)。消息一般由三部分組成,即消息的接收對(duì)象名、消息操作名和必要的參數(shù)。消息傳送與傳統(tǒng)的函數(shù)調(diào)用的主要差別有以下幾點(diǎn):函數(shù)調(diào)用可帶或不帶參數(shù),但消息至少帶一個(gè)參數(shù)(即接收該消息的對(duì)象)。消息操作名類似于函數(shù)名,但他們有本質(zhì)的不同。函數(shù)名代表一段可執(zhí)行的代碼,而消息名的具體功能選定還取決于接收消息的對(duì)象本身。函數(shù)調(diào)用是過程式的,而消息傳送是說(shuō)明式的,具體如何做由對(duì)象根據(jù)收到的消息自行確定。1.2面向?qū)ο蟮幕靖拍?.封裝性、繼承性和多態(tài)性所謂封裝又稱為信息隱蔽,是面向?qū)ο蟮幕咎卣?。封裝的目的在于將使用者與設(shè)計(jì)者分離,使用者不必知道操作實(shí)現(xiàn)的細(xì)節(jié),只需用設(shè)計(jì)者提供的消息來(lái)訪問對(duì)象。繼承是面向?qū)ο笳Z(yǔ)言中的一種重要機(jī)制,該機(jī)制自動(dòng)地為一個(gè)類提供來(lái)自另一個(gè)類的操作和屬性,這樣程序員只需在新類中定義已有類中沒有的屬性與(或)操作來(lái)建立新類。多態(tài)性是指一個(gè)名字具有多種語(yǔ)義,即指同一消息為不同對(duì)象所接受時(shí),可以導(dǎo)致不同的操作。1.3Java語(yǔ)言概述1.Java的發(fā)展Java的歷史1991:GreenProject、JamesGosling1993:WWW迅速發(fā)展,HotJava瀏覽器得到關(guān)注。1995:Java正式發(fā)布1.3Java語(yǔ)言概述Java的現(xiàn)況和發(fā)展前景Java是以網(wǎng)絡(luò)為中心、面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。一方面,它克服了早先程序設(shè)計(jì)語(yǔ)言在應(yīng)用中的不足;另一方面,Java語(yǔ)言具有自身的特點(diǎn);比如,Java具有安全性、跨平臺(tái)、多線程等優(yōu)勢(shì),特別適合于Internet應(yīng)用程序開發(fā)。1.3Java語(yǔ)言概述Java語(yǔ)言自1995年問世以來(lái)不斷發(fā)展,開發(fā)平臺(tái)的版本已經(jīng)從早先的JDK1.0發(fā)展到JDK2.0,到當(dāng)前廣泛應(yīng)用的JDK5.0,以及最近才使用的JDK6.0。Java語(yǔ)言的每一個(gè)版本的推出,都是對(duì)自身不足的克服和完善。它日益成為網(wǎng)絡(luò)應(yīng)用的一支強(qiáng)有力的技術(shù)力量。由于Internet和WWW進(jìn)一步普及,目前幾乎所有的軟件公司都在學(xué)習(xí)、研究并使用Java。當(dāng)前,Java語(yǔ)言已經(jīng)被廣泛地應(yīng)用在各種領(lǐng)域,如網(wǎng)絡(luò)遠(yuǎn)程教學(xué)、安全的金融應(yīng)用平臺(tái)、無(wú)線應(yīng)用平臺(tái)、太空探索等。Sun、IBM、Oracle以及Netscape等公司都在大力推進(jìn)Java的應(yīng)用。1.3Java語(yǔ)言概述2.Java的語(yǔ)言特點(diǎn)簡(jiǎn)單性語(yǔ)法簡(jiǎn)單,沒有C++復(fù)雜的語(yǔ)法,沒有C++的頭文件、指針運(yùn)算、虛基類等Java的解釋器小,基本解釋器大約40KB,包括基礎(chǔ)的標(biāo)準(zhǔn)類庫(kù)和線程支持,大約增加175KB1.3Java語(yǔ)言概述面向?qū)ο驤ava語(yǔ)言的設(shè)計(jì)完全是面向?qū)ο蟮?,它不支持類似C語(yǔ)言那樣的面向過程的程序設(shè)計(jì)技術(shù)。面向過程程序設(shè)計(jì)是將算法轉(zhuǎn)化成程序代碼,由于程序中數(shù)據(jù)和過程或函數(shù)是分開的,如果對(duì)程序的功能發(fā)生一點(diǎn)變化,假設(shè)新增一個(gè)功能函數(shù),這可能需要程序員對(duì)程序做較大程度的修改。面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言是利用面向?qū)ο筇匦钥梢院芎玫母纳七^程設(shè)計(jì)語(yǔ)言中存在的問題。充分體現(xiàn)了程序的模塊化、重用性、可用性。面向過程面向?qū)ο?.3Java語(yǔ)言概述分布式Java包括一個(gè)支持HTTP和FTP等基于TCP/IP協(xié)議的子庫(kù)。因此,Java應(yīng)用程序可憑借URL打開并訪問網(wǎng)絡(luò)上的對(duì)象,就像訪問本地文件一樣簡(jiǎn)單方便。Java的分布性為實(shí)現(xiàn)在分布環(huán)境尤其是Internet下實(shí)現(xiàn)動(dòng)態(tài)內(nèi)容提供了技術(shù)途徑。1.3Java語(yǔ)言概述健壯性

Java是一種強(qiáng)類型語(yǔ)言,它在編譯和運(yùn)行時(shí)要進(jìn)行大量的類型檢查。類型檢查幫助檢查出許多開發(fā)早期出現(xiàn)的錯(cuò)誤。Java自已操縱內(nèi)存減少了內(nèi)存出錯(cuò)的可能性。Java的數(shù)組并非采用指針實(shí)現(xiàn),從而避免了數(shù)組越界的可能。Java通過自動(dòng)垃圾收集器避免了許多由于內(nèi)存管理而造成的錯(cuò)誤。Java在程序中由于不采用指針來(lái)訪問內(nèi)存單元,從而也避免了許多錯(cuò)誤發(fā)生的可能。1.3Java語(yǔ)言概述可移植性Java的數(shù)據(jù)類型具有固定的大小;二進(jìn)制數(shù)據(jù)以固定形式存儲(chǔ)和傳輸;字符串是用Unicode存儲(chǔ)定義了可移植的接口,在不同操作系統(tǒng)下有不同的實(shí)現(xiàn)1.3Java語(yǔ)言概述結(jié)構(gòu)中立作為一種網(wǎng)絡(luò)語(yǔ)言,Java編譯器將Java源程序編譯成一種與體系結(jié)構(gòu)無(wú)關(guān)的中間文件格式。只要有Java運(yùn)行系統(tǒng)的機(jī)器都能執(zhí)行這種中間代碼。從而使同一版本的應(yīng)用程序可以運(yùn)行在不同的平臺(tái)上1.3Java語(yǔ)言概述安全性作為網(wǎng)絡(luò)語(yǔ)言,安全是非常重要的。Java的安全性可從兩個(gè)方面得到保證。一方面,在Java語(yǔ)言里,象指針和釋放內(nèi)存等C++功能被刪除,避免了非法內(nèi)存操作。另一方面,當(dāng)Java用來(lái)創(chuàng)建瀏覽器時(shí),語(yǔ)言功能和一類瀏覽器本身提供的功能結(jié)合起來(lái),使它更安全。Java語(yǔ)言在你的機(jī)器上執(zhí)行前,要經(jīng)過很多次的測(cè)試。它經(jīng)過代碼校驗(yàn),檢查代碼段的格式,檢測(cè)指針操作,對(duì)象操作是否過分以及試圖改變一個(gè)對(duì)象的類型。另外,Java擁有多個(gè)層次的互鎖保護(hù)措施,能有效地防止病毒的入侵和破壞行為的發(fā)生。1.3Java語(yǔ)言概述解釋的Java解釋器(運(yùn)行系統(tǒng))能直接對(duì)Java字節(jié)碼進(jìn)行解釋執(zhí)行。鏈接程序通常比編譯程序所需資源少。高性能雖然Java是解釋執(zhí)行程序,但它具有非常高的性能。另外,Java可以在運(yùn)行時(shí)直接將目標(biāo)代碼翻譯成機(jī)器指令。1.3Java語(yǔ)言概述多線程線程有時(shí)也稱小進(jìn)程,是一個(gè)大進(jìn)程里分出來(lái)的小的獨(dú)立運(yùn)行的基本單位。Java提供的多線程功能使得在一個(gè)程序里可同時(shí)執(zhí)行多個(gè)小任務(wù),即同時(shí)進(jìn)行不同的操作或處理不同的事件。多線程帶來(lái)的更大的好處是具有更好的網(wǎng)上交互性能和實(shí)時(shí)控制性能,尤其是實(shí)現(xiàn)多媒體功能。動(dòng)態(tài)性Java的動(dòng)態(tài)特性是其面向?qū)ο笤O(shè)計(jì)方法的擴(kuò)展。它允許程序動(dòng)態(tài)地裝入運(yùn)行過程中所需要的類,而不影響使用這一類庫(kù)的應(yīng)用程序的執(zhí)行,這是采用C++語(yǔ)言進(jìn)行面向?qū)ο蟪绦蛟O(shè)計(jì)時(shí)所無(wú)法實(shí)現(xiàn)的。1.3Java語(yǔ)言概述3.Java的應(yīng)用程序類型 多平臺(tái)應(yīng)用程序:Java是跨平臺(tái)的應(yīng)用開發(fā)工具,用Java開發(fā)的網(wǎng)絡(luò)應(yīng)用系統(tǒng)可以在各種平臺(tái)上運(yùn)行,大大增加了開發(fā)效率,減少重復(fù)勞動(dòng)。 Web應(yīng)用程序:開發(fā)Web應(yīng)用程序是Java的基本功能。Web瀏覽是現(xiàn)在國(guó)際網(wǎng)甚至局域網(wǎng)的主要使用方式。文檔能很容易地顯示文本和各種圖片,并提供超文本鏈接。 基于GUI的應(yīng)用程序:用Java語(yǔ)言可以開發(fā)出一般Windows下的標(biāo)準(zhǔn)圖形用戶界面。 面向?qū)ο蟮膽?yīng)用程序:由于Java是一種純面向?qū)ο蟮木幊陶Z(yǔ)言,因此常用Java語(yǔ)言開發(fā)面向?qū)ο蟮膽?yīng)用程序。 多線程應(yīng)用程序:利用Java語(yǔ)言提供的多進(jìn)程機(jī)制可以方便開發(fā)各種動(dòng)畫應(yīng)用等程序。 關(guān)鍵任務(wù)的應(yīng)用程序:如電子商務(wù)和數(shù)據(jù)庫(kù)方面的應(yīng)用程序。 分布式網(wǎng)絡(luò)應(yīng)用程序:Java是網(wǎng)絡(luò)編程語(yǔ)言,常利用Java進(jìn)行分布式網(wǎng)絡(luò)應(yīng)用程序的開發(fā),如Sun公司的hotJava瀏覽器就是用Java開發(fā)的。 安全性應(yīng)用程序:Java設(shè)計(jì)為在其編譯器、運(yùn)行系統(tǒng)及相應(yīng)的瀏覽器中嵌入多層安全機(jī)制。1.3Java語(yǔ)言概述4.Java語(yǔ)言的開發(fā)Java語(yǔ)言的開發(fā)工具JDKJDK的安裝直接執(zhí)行下載的安裝文件后,根據(jù)提示就可正常安裝。安裝后產(chǎn)生如下目錄結(jié)構(gòu)JDK安裝目錄*\bin的目錄下包含以下主要文件:javac:Java編譯器,用來(lái)將Java程序編譯成bytecode。java:Java編譯器,執(zhí)行已經(jīng)轉(zhuǎn)換成bytecode的Java應(yīng)用程序。jdb:Java調(diào)試器,用來(lái)調(diào)試Java程序。javap:反編譯,用來(lái)返回Java程序的成員變量及方法等信息。javadoc:文檔生成器,創(chuàng)建HTML文件。javaprof:資源分析工具1.3Java語(yǔ)言概述設(shè)置JDK環(huán)境變量為了能從任何目錄編譯和運(yùn)行Java程序,需要在計(jì)算機(jī)系統(tǒng)中設(shè)置PATH和CLASSPATH變量。集成開發(fā)工具NetBeansIDE;Elicpse;JBuilder;JCreatorPro;1.3Java語(yǔ)言概述5.Java程序Java程序的分類JavaApplication(Java獨(dú)立應(yīng)用程序)Java獨(dú)立應(yīng)用程序是一個(gè)完整的程序,需要獨(dú)立的Java解釋器來(lái)解釋執(zhí)行;JavaApplet(Java小應(yīng)用程序)Java小應(yīng)用程序則是嵌在Web頁(yè)面中的非獨(dú)立應(yīng)用程序,由Web瀏覽器內(nèi)部所包含的Java解釋器來(lái)解釋執(zhí)行,為Web頁(yè)面增加交互性和動(dòng)態(tài)性。注意:將上述兩種類型結(jié)合形成混合型應(yīng)用程序它是指Java軟件在不同的主機(jī)環(huán)境中可作為不同的類型,或者是小應(yīng)用程序或者是獨(dú)立應(yīng)用程序。1.3Java語(yǔ)言概述JavaApplication的例子建立一個(gè)名為WelcomeApp.java的文件:importjava.io.*;publicclassWelcomeApp{publicstaticvoidmain(String[]args){System.out.println(“WelcometoJAVA!”);}}1.3Java語(yǔ)言概述JavaApplet的例子建立名為Applet1.java的程序:importjava.awt.*;importjava.applet.*;publicclassApplet1extendsApplet{publicvoidpaint(Graphicsg){g.drawString("WelcometoJava",50,25);}}運(yùn)行JavaApplet。為了看見程序運(yùn)行結(jié)果,必須在使用Applet的網(wǎng)頁(yè)里加入如下幾行Applet標(biāo)記。<appletcode=Applet1.class!--所要顯示的Applet文件名寫在“code=”后面--name=Applet1!--將Applet的類名稱寫在“name=”的后面,注意大小寫。--width=320!--指定Applet在網(wǎng)頁(yè)中的寬度--height=200?!--指定Applet在網(wǎng)頁(yè)中的長(zhǎng)度--></applet>1.3Java語(yǔ)言概述Java程序結(jié)構(gòu)Java語(yǔ)言的源程序代碼由一個(gè)或多個(gè)編譯單元(compilationunit)組成,每個(gè)編譯單元只能包含下列內(nèi)容(空格和注釋除外):1)一個(gè)程序包語(yǔ)句(packagestatement)。2)入口語(yǔ)句(importstatements)。3)類的聲明(classdeclarations)。4)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論