JAVA語言項目1-JAVA語言入門課件_第1頁
JAVA語言項目1-JAVA語言入門課件_第2頁
JAVA語言項目1-JAVA語言入門課件_第3頁
JAVA語言項目1-JAVA語言入門課件_第4頁
JAVA語言項目1-JAVA語言入門課件_第5頁
已閱讀5頁,還剩157頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

大家想一想,在Windows系統(tǒng)下編寫的程序能夠不做修改就直接拿到UNIX系統(tǒng)上運行嗎?顯然是不可以的,因為程序的執(zhí)行最終必須轉(zhuǎn)換成為計算機硬件的機器指令來執(zhí)行,專門為某種計算機硬件和操作系統(tǒng)編寫的程序是不能夠直接放到另外的計算機硬件上執(zhí)行的,至少要做移植工作。要想讓程序能夠在不同的計算機上運行,就要求程序設(shè)計語言是能夠跨越各種軟件和硬件平臺的,而Java滿足了這一需求。下一頁項目1Java語言入門2021/7/131大家想一想,在Windows系統(tǒng)下編寫的程序能夠不做修改就直1995年,美國SunMicrosystems公司正式向IT業(yè)界推出了Java語言,該語言具有安全、跨平臺、面向?qū)ο蟆⒑唵?、適用于網(wǎng)絡(luò)等顯著特點。當時以Web為主要形式的互聯(lián)網(wǎng)正在迅猛發(fā)展,Java語言的出現(xiàn)迅速引起所有程序員和軟件公司的極大關(guān)注,程序員們紛紛嘗試用Java語言編寫網(wǎng)絡(luò)應用程序,并利用網(wǎng)絡(luò)把程序發(fā)布到世界各地進行運行。包括IBM,Oracle,微軟,Netscape,Apple,SGI等大公司紛紛與SunMicrosystems公司簽訂合同,授權(quán)使用Java平臺技術(shù)。微軟公司總裁比爾·蓋茨先生在經(jīng)過研究后認為“Java語言是長時間以來最卓越的程序設(shè)計語言”。目前,Java語言已經(jīng)成為最流行的網(wǎng)絡(luò)編程語言,截止到2001年中,全世界大約有310萬Java程序員,許多大學紛紛開設(shè)Java課程,Java正逐步成為世界上程序員最多的編程語言。下一頁項目1Java語言入門上一頁2021/7/1321995年,美國SunMicrosystems公司正式向I在經(jīng)歷了以大型機為代表的集中計算模式和以PC為代表的分散計算模式之后,互聯(lián)網(wǎng)的出現(xiàn)使得計算模式進入了網(wǎng)絡(luò)計算時代。網(wǎng)絡(luò)計算模式的一個特點是計算機是異構(gòu)的,即計算機的類型和操作系統(tǒng)是不一樣的,例如Sun工作站的硬件是SPARC體系,軟件是UNIX中的Solaris操作系統(tǒng),而PC的硬件是Intel體系,操作系統(tǒng)是windows或者是Linux,因此相應的編程語言基本上只適用于單機系統(tǒng),例如COBOL,FORTRAN,C,C++等;網(wǎng)絡(luò)計算模式的另一個特點是代碼可以通過網(wǎng)絡(luò)在各種計算機上進行遷移,這就迫切需要一種跨平臺的編程語言,使得用它編寫的程序能夠在網(wǎng)絡(luò)中的各種計算機上正常運行,Java就是在這種需求下應運而生的。正是因為Java語言符合了互聯(lián)網(wǎng)時代的發(fā)展要求,才使它獲得了巨大的成功。下一頁項目1Java語言入門上一頁2021/7/133在經(jīng)歷了以大型機為代表的集中計算模式和以PC為代表的分散計算項目1Java語言入門1.1項目概述1.2項目目的1.3項目支撐知識1.4項目實施1.5項目總結(jié)1.6擴展演練2021/7/134項目1Java語言入門1.1項目概述2021/7/1在本項目中主要學習Java基本特性、Java的發(fā)展簡史、運行機制,以及Java開發(fā)環(huán)境的安裝、配置方法、Java工作原理,并且通過介紹Java應用程序的一個簡單示例,來學習Java應用程序的開發(fā)流程,來解程序的基本結(jié)構(gòu)。返回1.1項目概述2021/7/135在本項目中主要學習Java基本特性、Java的發(fā)展簡史、運行了解Java的基本概念、特點。掌握Java運行環(huán)境的設(shè)置和開發(fā)工具的使用。掌握兩類Java程序編寫、調(diào)試、運行的區(qū)別。返回1.2項目目的2021/7/136了解Java的基本概念、特點。返回1.2項目目的2021.3項目支撐知識1.3.1項目開發(fā)背景知識1Java產(chǎn)生的背景1991年,Sun公司的JamesGosling,BillJoe等人,為電視、控制烤面包機等家用電器的交互操作開發(fā)了一個Oak(一種橡樹的名字)軟件,它是Java的前身。當時,Oak并沒有引起人們的注意,直到1994年,隨著互聯(lián)網(wǎng)和3W的飛速發(fā)展,他們用Java編制了HotJava瀏覽器,得到了Sun公司首席執(zhí)行官ScowMcNealy的支持,得以研發(fā)和發(fā)展。為了促銷和法律的原因,1995年Oak更名為Java。下一頁返回2021/7/1371.3項目支撐知識1.3.1項目開發(fā)背景知識11.3項目支撐知識Java的得名過程:一天,Java小組成員正在喝咖啡時,議論給新語言起個什么名字的問題,有人提議用Java(Java是印度尼西亞盛產(chǎn)咖啡的一個島嶼),這個提議得到了其他成員的贊同,于是就采用Java來命名此新語言。很快Java被工業(yè)界認可,許多大公司如IBMMicrosoft.DEC等購買了Java的使用權(quán),并被美國雜志PCMagazine評為1995年十大優(yōu)秀科技產(chǎn)品。從此,開始了Java應用的新篇章。上一頁下一頁返回2021/7/1381.3項目支撐知識Java的得名過程:一天,Java小組1.3項目支撐知識Java的誕生是對傳統(tǒng)計算機模式的挑戰(zhàn),對計算機軟件開發(fā)和軟件產(chǎn)業(yè)都產(chǎn)生了深遠的影響。(1)軟件4A目標要求軟件能達到任何人在任何地方在任何時間對任何電子設(shè)備都能應用。這樣能滿足軟件平臺上互相操作,具有可伸縮性和重用性并可即插即用等分布式計算模式的需求。(2)基于構(gòu)建開發(fā)方法的崛起,引出了CORBA國際標準軟件體系結(jié)構(gòu)和多層應用體系框架。在此基礎(chǔ)上形成了Java.2平臺和.NET平臺兩大派系,推動了整個IT業(yè)的發(fā)展。上一頁下一頁返回2021/7/1391.3項目支撐知識Java的誕生是對傳統(tǒng)計算機模式的挑戰(zhàn)1.3項目支撐知識(3)對軟件產(chǎn)業(yè)和工業(yè)企業(yè)都產(chǎn)生了深遠的影響,軟件從以開發(fā)為中心轉(zhuǎn)到了以服務為中心。中間提供商、構(gòu)件提供商、服務器軟件以及咨詢服務商出現(xiàn)。企業(yè)必須重塑自我,B2B的電子商務將帶動整個新經(jīng)濟市場,使企業(yè)獲得新的價值、新的增長、新的商機、新的管理。(4)對軟件開發(fā)帶來了新的革命,重視使用第三方構(gòu)件集成,利用平臺的基礎(chǔ)設(shè)施服務,實現(xiàn)開發(fā)各個階段的重要技術(shù),重視開發(fā)團隊的組織和文化理念,協(xié)作、創(chuàng)作、責任、誠信是人才的基本素質(zhì)??傊?,目前已看到了Java對信息時代的重要性,未來還會不斷發(fā)展,Java在應用方面將會有更廣闊的前景。上一頁下一頁返回2021/7/13101.3項目支撐知識(3)對軟件產(chǎn)業(yè)和工業(yè)企業(yè)都產(chǎn)生了深遠1.3項目支撐知識1.3.2項目開發(fā)背景知識2Java語言特性Java自誕生之日起,就受到了全世界的關(guān)注。這是因為它自身的眾多突出優(yōu)點造成的,具體來說有以下主要特點。1.Java語言是簡單易學的Java語言的語法與C語言和C++語言很接近,使得大多數(shù)程序員很容易學習和使用Java。另一方面,Java丟棄lC++中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強制類型轉(zhuǎn)換。特別地,Java語言不使用指針,并提供了自動的廢料收集,使得程序員不必為內(nèi)存管理而擔憂。上一頁下一頁返回2021/7/13111.3項目支撐知識1.3.2項目開發(fā)背景知識2J1.3項目支撐知識2.Java語言是面向?qū)ο蟮腏ava語言提供類、接口和繼承等原語,為了簡單起見,只支持類之間的單繼但支持接口之間的多繼承,并支持類與接口之間的實現(xiàn)機制(關(guān)鍵字為implements)。Java語言全面支持動態(tài)綁定,而C++語言只對虛函數(shù)使用動態(tài)綁定??傊?,Java語言是一個純的面向?qū)ο蟪绦蛟O(shè)計的語言。上一頁下一頁返回2021/7/13121.3項目支撐知識2.Java語言是面向?qū)ο蟮纳弦豁撓乱?.3項目支撐知識3.Java語言是分布式的Java語言支持Internet應用的開發(fā),在基本的Java應用編程接口中有一個網(wǎng)絡(luò)應用編程接口(J),它提供了用于網(wǎng)絡(luò)應用編程的類庫,包括URL,URLConnection,Socket,ServerSocket等。Java的RMI(遠程方法激活)機制也是開發(fā)分布式應用的重要手段。上一頁下一頁返回2021/7/13131.3項目支撐知識3.Java語言是分布式的上一頁下一頁1.3項目支撐知識4.Java語言是健壯的Java的強類型機制、異常處理、廢料的自動收集等是Java程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機制使得Java更具健壯性。5.Java語言是安全的Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個安全機制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網(wǎng)絡(luò)下載的類具有一個安全防范機制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機制(類SecurityManager)讓Java應用設(shè)置安全哨兵。上一頁下一頁返回2021/7/13141.3項目支撐知識4.Java語言是健壯的上一頁下一頁返1.3項目支撐知識在網(wǎng)絡(luò)、分布環(huán)境下的Java必須防止病毒的入侵,而Java程序的三級代碼安全檢查機制就可防止非法代碼的入侵,阻止對內(nèi)存的越權(quán)訪問,避免病毒的侵害。Java程序在執(zhí)行前,要經(jīng)過3次檢查,分別是Java本身的代碼檢查、字節(jié)碼的檢查、Java解釋器的檢查。如圖1-1所示。6.Java語言是體系結(jié)構(gòu)中立的Java程序(后綴為Java的文件)在Java平臺上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件),然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。上一頁下一頁返回2021/7/13151.3項目支撐知識在網(wǎng)絡(luò)、分布環(huán)境下的Java必須防止病1.3項目支撐知識7.Java語言是可移植的這種可移植性來源于體系結(jié)構(gòu)中立性。另外,Java還嚴格規(guī)定了各個基本數(shù)據(jù)類型的長度。Java系統(tǒng)本身也具有很強的可移植性,Java編譯器是用Java實現(xiàn)的,Java的運行環(huán)境是用ANSIC實現(xiàn)的。8.Java語言是解釋型的如前所述,Java程序在Java平臺上被編譯為字節(jié)碼格式,然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運行。在運行時,Java平臺中的Java解釋器對這些字節(jié)碼進行解釋執(zhí)行,執(zhí)行過程中需要的類在連接階段被載人到運行環(huán)境中。上一頁下一頁返回2021/7/13161.3項目支撐知識7.Java語言是可移植的上一頁下一頁1.3項目支撐知識9.Java是高性能的與那些解釋型的高級腳本語言相比,Java的確是高性能的。事實上,Java的運行速度隨著JIT(Just-in-Time)編譯器技術(shù)的發(fā)展越來越接近于C++。10.Java語言是多線程的在Java語言中,線程是一種特殊的對象,它必須由Thread類或其子(孫)類來創(chuàng)建。通常有兩種方法來創(chuàng)建線程:其一,使用型構(gòu)為Thread(Runnable)的構(gòu)造子將一個實現(xiàn)了Runnable接口的對象包裝成一個線程;其二,從Thread類派生出子類并重寫run方法,使用該子類創(chuàng)建的對象即為線程。上一頁下一頁返回2021/7/13171.3項目支撐知識9.Java是高性能的上一頁下一頁返回1.3項目支撐知識值得注意的是Thread類已經(jīng)實現(xiàn)了Runnable接口,因此,任何一個線程均有它的run方法,而run方法中包含了線程所要運行的代碼。線程的活動由一組方法來控制。Java語言支持多個線程的同時執(zhí)行,并提供多線程之間的同步機制(關(guān)鍵字為synchronized)。11.Java語言是動態(tài)的Java語言的設(shè)計目標之一是適應于動態(tài)變化的環(huán)境。Java程序需要的類能夠動態(tài)地被載入到運行環(huán)境,也可以通過網(wǎng)絡(luò)來載入所需要的類,這也有利于軟件的升級。另外,Java中的類有一個運行時刻的表示,能進行運行時刻的類型檢查。上一頁下一頁返回2021/7/13181.3項目支撐知識值得注意的是Thread類已經(jīng)實現(xiàn)了R1.3項目支撐知識

Java語言的優(yōu)良特性使得Java應用具有無比的健壯性和可靠性,這也減少了應用系統(tǒng)的維護費用。Java對對象技術(shù)的全面支持和Java平臺內(nèi)嵌的API能縮短應用系統(tǒng)的開發(fā)時間并降低成本。Java的編譯一次,就可到處運行的特性使得它能夠提供一個隨處可用的開放結(jié)構(gòu)和在多平臺之間傳遞信息的低成本方式。特別是Java企業(yè)應用編程接口(JavaEnterpriseAPIs)為企業(yè)計算及電子商務應用系統(tǒng)提供了有關(guān)技術(shù)和豐富的類庫。上一頁下一頁返回2021/7/13191.3項目支撐知識Java語言的優(yōu)良特性使得Java應1.3項目支撐知識1.3.3項目開發(fā)背景知識3Java運行機制Java程序的運行必須經(jīng)過編寫、編譯、運行3個步驟。編寫是指在Java開發(fā)環(huán)境中進行程序代碼的輸入,最終形成后綴名為.Java的Java源文件。編譯是指使用Java編譯器對源文件進行錯誤排查的過程,編譯后將生成后綴名為.class的字節(jié)碼文件,這不像C語言那樣最終生成可執(zhí)行文件。運行是指使用Java解釋器將字節(jié)碼文件翻譯成機器代碼,執(zhí)行并顯示結(jié)果。這一過程如圖1-2所示。上一頁下一頁返回2021/7/13201.3項目支撐知識1.3.3項目開發(fā)背景知識3J1.3項目支撐知識字節(jié)碼文件是一種和任何具體機器環(huán)境及操作系統(tǒng)環(huán)境無關(guān)的中間代碼,它是一種二進制文件,是Java源文件由Java編譯器編譯后生成的目標代碼文件。編程人員和計算機都無法直接讀懂字節(jié)碼文件,它必須由專用的Java解釋器來解釋執(zhí)行,因此Java是一種在編譯基礎(chǔ)上進行解釋運行的語言。Java解釋器負責將字節(jié)碼文件翻譯成具體硬件環(huán)境和操作系統(tǒng)平臺下的機器代碼,以便執(zhí)行。因此Java程序不能直接運行在現(xiàn)有的操作系統(tǒng)平臺上,它必須運行在被稱為Java虛擬機的軟件平臺之上。上一頁下一頁返回2021/7/13211.3項目支撐知識字節(jié)碼文件是一種和任何具體機器環(huán)境及操1.3項目支撐知識Java虛擬機(JVM)是運行Java程序的軟件環(huán)境,Java解釋器就是Java虛擬機的一部分。在運行Java程序時,首先會啟動JVM,然后由它來負責解釋執(zhí)行Java的字節(jié)碼,并且Java字節(jié)碼只能運行于JVM之上。這樣,利用JVM就可以把Java字節(jié)碼程序和具體的硬件平臺以及操作系統(tǒng)環(huán)境分隔開來,只要在不同的計算機上安裝了針對于特定具體平臺的JVM,Java程序就可以運行,而不用考慮當前具體的硬件平臺及操作系統(tǒng)環(huán)境,也不用考慮字節(jié)碼文件是在何種平臺上生成的。JVM把這種不同軟硬件平臺的具體差別隱藏起來,從而實現(xiàn)了真正的二進制代碼級的跨平臺移植。JVM是與Java平臺無關(guān)的基礎(chǔ),Java的跨平臺特性正是通過在JVM中運行Java程序?qū)崿F(xiàn)的。Java虛擬機的運行機制圖可以通過圖1-3說明。上一頁下一頁返回2021/7/13221.3項目支撐知識Java虛擬機(JVM)是運行Java1.3項目支撐知識Java語言這種“一次編寫,到處運行(writeonce,runanywhere)”的方式,有效地解決了目前大多數(shù)高級程序設(shè)計語言需要針對不同系統(tǒng)來編譯產(chǎn)生不同機器代碼的問題,即硬件環(huán)境和操作平臺的異構(gòu)問題,大大降低了程序開發(fā)、維護和管理的開銷。需要注意的是,Java程序通過JVM可以達到跨平臺特性,但JVM是不跨平臺的。也就是說,不同操作系統(tǒng)之上的JVM是不同的,Windows平臺之上的JVM不能用在Linux上面,反之亦然。上一頁下一頁返回2021/7/13231.3項目支撐知識Java語言這種“一次編寫,到處運行(1.3項目支撐知識1.3.4項目開發(fā)背景知識4Java的運行環(huán)境Java開發(fā)環(huán)境的基本要求非常低,只需一個Java開發(fā)工具包(JavaDevelopmentKitJDK),再加上一個純文本編輯器即可。為了提高開發(fā)效率,可以使用功能強大的文本編輯工具,例如記事本、UltraEdit等。對于熟練的開發(fā)人員,為了進一步提高開發(fā)效率,還可以使用具有可視化功能的Java專用開發(fā)工具,例如Jcreator,Jbuilder,J++,NetBeans。本書程序以記事本為編輯工具。上一頁下一頁返回2021/7/13241.3項目支撐知識1.3.4項目開發(fā)背景知識4Java1.3項目支撐知識Java不僅提供了一個豐富的語言和運行環(huán)境,而且還提供了一個免費的Java軟件開發(fā)工具集(JavaDevelopmentKits,JDK)。到目前為止,Sun公司先后發(fā)布了多個主要的JDK的版本。其主要版本的發(fā)布時間和特點如下。(1)JDK1.0;1995年推出,是Java最早的編譯環(huán)境。(2)JDK1.2;1998年發(fā)布,在圖形化用戶界面、數(shù)據(jù)庫互聯(lián)以及其他許多方面作了重大改進。這個版本也稱作帶有JDK1.2的Java1.2版本。由于該版本具有重大改變,所以從Java1.2版本后的Java語言也稱作Java2語言。上一頁下一頁返回2021/7/13251.3項目支撐知識Java不僅提供了一個豐富的語言和運行1.3項目支撐知識(3)JDK1.3:在多媒體應用、編譯速度等方面做了改進。(4)JDK1.4:斷言(assert),為程序的調(diào)試提供了強有力的支持。(5)JDK1.5(JDK5.0):第一個對Java語言做出最大改進的版本,添加了泛型類型、"foreach”循環(huán)、自動打包、元數(shù)據(jù)等新特性。(6)JDK1.6:目前最新的版本。JDK1.6中有9大新特性。其中之一,JDK1.6中自帶JAXB2.o,JAXB是JavaArchitectureforXMLBinding的縮寫,可以將一個Java對象轉(zhuǎn)變成為XML格式,反之亦然。上一頁下一頁返回2021/7/13261.3項目支撐知識(3)JDK1.3:在多媒體應用1.3項目支撐知識比起1.0(JSR31)來,JAXB2(JSR222)用JDK5的新特性Annotation來標識要作綁定的類和屬性等,這就極大簡化了開發(fā)的工作量。由于篇幅限制,其他特性不再逐一介紹。通常所說的J25DK,是指與Java2語言相對應的JavaSDK(JavaSoftwareDevelopmentKits),它是對較新版本中JDK的一個特定稱呼。J2SDK(JDK)包括Java的編譯器、解釋器、調(diào)試器等開發(fā)工具以及JavaAPI類庫。編程人員和最終用戶可以利用這些工具來開發(fā)Java程序。其調(diào)試工具主要包括Java語言編譯器Javac,用于編譯器Java源程序;Java字節(jié)碼解釋器Java,用于解釋運行Java程序,顯示程序運行結(jié)果;小應用程序瀏覽工具appleviewer,用于測試并運行Java小程序。上一頁下一頁返回2021/7/13271.3項目支撐知識比起1.0(JSR31)來,JA1.3項目支撐知識1.3.5項目開發(fā)背景知識5最簡單的Java程序Java有兩類程序,即Java應用程序(Javaapplication)和Java小程序(Javaapplet),前者是在命令行中運行的獨立的應用程序,它類似于以往用其他高級語言開發(fā)的程序;后者需要嵌人網(wǎng)頁在瀏覽器中執(zhí)行。本節(jié)介紹Java應用程序的一個簡單示例,以此來學習Java應用程序的開發(fā)流程,并了解程序的基本結(jié)構(gòu)。上一頁下一頁返回2021/7/13281.3項目支撐知識1.3.5項目開發(fā)背景知識5最簡單1.3項目支撐知識Java應用程序是一個沒有WPb瀏覽器環(huán)境的應用系統(tǒng),像使用其他編程語言(如C,PASCAL,FORTRAN等)編寫的程序一樣,主要區(qū)別是Java應用程序需要在Java運行環(huán)境下才能運行。使用Java語言編寫應用程序一般分成下列3個步驟。(1)利用某一種文本編輯器建立Java源程序文件,擴展名為.Java;(2)利用Java編譯器(Javac)編譯該application,產(chǎn)生.class字節(jié)碼文件;(3)利用解釋器(Java)解釋字節(jié)碼文件,完成該程序的運行過程。上一頁下一頁返回2021/7/13291.3項目支撐知識Java應用程序是一個沒有WPb瀏覽器1.3項目支撐知識Java小應用程序是可以嵌人到HTML語言中,并由帶有Java解釋器的WWW瀏覽器(如InternetExplorer,Netscape等)來解釋執(zhí)行的程序,它不能用Java解釋器直接執(zhí)行。將Apple稱為小程序的原因就是因為其代碼較少,易于Internet/Intranet下載。JavaApplet程序的建立及運行可分為下述4個步驟。(1)利用文本編輯器建立Java源程序文件;(2)利用Java編譯器(Javac)編譯該JavaApplet,產(chǎn)生.class字節(jié)碼文件;(3)建立一個HTML文件,在其中嵌入Java字節(jié)碼文件;(4)用www瀏覽器或appletViewer裝入該HTML文件,使Applet運行。上一頁下一頁返回2021/7/13301.3項目支撐知識Java小應用程序是可以嵌人到HTML1.3項目支撐知識1.3.6項目開發(fā)背景知識6Java編程規(guī)范軟件開發(fā)是一個集體協(xié)作的過程,程序員之間的代碼是經(jīng)常要進行交換閱讀的,因此,Java源程序有一些約定俗成的命名規(guī)定,主要日的是為廠提高Java程序的可讀性。如果在源程序中包含有公共類的定義,則該源文件名必須與該公共類的名字完全一致,字母的大小寫都必須一樣。這是Java語言的一個嚴格的規(guī)定,如果不遵守,在編譯時就會出錯。因此,在一個Java源程序中至多只能有一個公共類的定義。如果源程序中不包含公共類的定義,則該文件名可以任意取名。上一頁下一頁返回2021/7/13311.3項目支撐知識1.3.6項目開發(fā)背景知識6J1.3項目支撐知識如果在一個源程序中有多個類定義,則在編譯時將為每個類生成一個.class文件。源文件的命名規(guī)則如下。

(1)包名:包名是全小寫的名詞,中間可以由點分隔開,例如:java.awt.event)

(2)類名:首字母大寫,通常由多個單詞合成一個類名,要求每個單詞的首字母也要大寫,例如:classHelloWorld。(3)接口名:命名規(guī)則與類名相同,例如:interfaceCollection。(4)方法名:往往由多個單詞合成,第一個單詞通常為動詞,首字母小寫,中間的每個單詞的首字母都要大寫,例如:balanceAccount,isButtonPress。上一頁下一頁返回2021/7/13321.3項目支撐知識如果在一個源程序中有多個類定義,則在編1.3項目支撐知識(5)變量名:全小寫,一般為名詞,例如:length。(6)常量名:基本數(shù)據(jù)類型的常量名為全大寫,如果是由多個單詞構(gòu)成,可以用下劃線隔開,例如:intYEAR;intWEEKOFMONTH。上一頁返回2021/7/13331.3項目支撐知識(5)變量名:全小寫,一般為名詞,例如1.4項目實施1.4.1JDK安裝為了建立起Java的運行環(huán)境,可以到SUN公司的網(wǎng)站(http://J)上下載最新的JDK。建議同時下載其JavaDocumentation,這是Java幫助文檔。以JDK1.6.0版的J25DK為例(即j2sdk1.6.0,運行下載的j2sdk-6u19-windows-1586.eXe文件,開始進行Java環(huán)境的正式安裝。安裝程序會彈出許可證協(xié)議閱讀畫面如圖1-4所示,單擊【接受】按鈕后,進人JDK的默認安裝界面,如圖1-5所示。下一頁返回2021/7/13341.4項目實施1.4.1JDK安裝下一頁返回20211.4項目實施默認安裝于C:\ProgramFiles\Java\j2sdkl.6.0目錄下,用戶可以更改這個默認安裝目錄,單擊【更改】按鈕,進入如圖1-6所示的更改JDK安裝路徑的界面,將路徑改為D;\Java\jdk1.6.0,單擊【確定】按鈕后回到如圖1-7所示的安裝界面。單擊【下一步】按鈕后,JDK安裝程序運行中,如圖1-8所示。在JDK安裝程序的運行中,會彈出JRE的安裝界面,如圖1-9所示,初學者可以單擊【取消】按鈕,不選擇安裝。單擊【更改】按鈕,如圖1-10所示,更改JRE的安裝路徑為D;\Java\jre后,單擊【確定】按鈕,JRE安裝程序開始運行,如圖1-11所示,隨后,再彈出如圖1-12和圖1-13所示畫面,就安裝成功。上一頁下一頁返回2021/7/13351.4項目實施默認安裝于C:\ProgramFiles1.4項目實施為了能夠正常使用所安裝的開發(fā)包需要設(shè)置環(huán)境變量,主要包括兩個環(huán)境變量:Path和Classpath。Path稱之為路徑環(huán)境變量,用來指定Java開發(fā)包中的一些可執(zhí)行程序(Java.exe,Javac.exe等)所在的位置;Classpath稱之為類路徑環(huán)境變量。不同的操作系統(tǒng)上,設(shè)定環(huán)境變量的方法是不同的。對于Windows95/98的操作系統(tǒng),需要編輯autoexec.bat文件,在其最后面添加如下的兩行語句,保存文件并重新啟動系統(tǒng)。上一頁下一頁返回2021/7/13361.4項目實施為了能夠正常使用所安裝的開發(fā)包需要設(shè)置環(huán)境1.4項目實施對于Windows2000或WindowsXP操作系統(tǒng),設(shè)置Path變量:右擊【我的電腦】,在彈出菜單中單擊【屬性】,彈出【系統(tǒng)屬性】對話樞,在對話樞中選擇【高級】選項卜,在該頁面單擊【環(huán)境變量】按鈕,進人【環(huán)境變量】對話樞。找到變量Path,雙擊該行就可以編輯該環(huán)境變量的值。在該變量已有的值后,再添加“;D;\Java\jdk1.6.0\bin"(注意:不包括引號,分號“;”不能缺少),單擊【確定】按鈕進行保存工作,如圖1-14所示上一頁下一頁返回2021/7/13371.4項目實施上一頁下一頁返回2021/7/13371.4項目實施設(shè)置Classpath類路徑環(huán)境變量:在【系統(tǒng)變量】列表樞里,單擊【新建】按鈕,在新建系統(tǒng)變量對話樞里,設(shè)變量名:classpath,設(shè)變量值為“.;D:\Java\jdk1.6.0\lib”(注意:不包括引號,“.;”不能缺少)。如圖1-15圖所示。至此,完成環(huán)境變量的設(shè)定工作。1.4.2測試Java開發(fā)環(huán)境單擊【開始】一【程序】一【附件】一【命令提示符】,或者【開始】一【運行】,輸入cmd命令,按回車鍵,進人命令提示符界面,然后切換路徑,在D:\Java\_jdk1.6.0>路徑下,輸人以下兩條命令,命令的實例演示如下。上一頁下一頁返回2021/7/13381.4項目實施設(shè)置Classpath類路徑環(huán)境變量:在【1.4項目實施(1)版本測試:Java-version。顯示的是本機中Java版本,如圖1-16所示。否則需要重新安裝Java。注意:-version是Java命令的參數(shù)。(2)環(huán)境測試:Javac。顯示如圖1-17所示,說明Path設(shè)置有問題,需要修改系統(tǒng)變量Path的值。否則如圖1-18所示,說明Path設(shè)置成功。這就說明現(xiàn)在可以編寫運行Java程序了。上一頁下一頁返回2021/7/13391.4項目實施(1)版本測試:Java-version。1.4項目實施1.4.3Java應用程序(Javaapplication)的建立及運行特別說明:本書中所有例程源代碼之前的序號均是為了方便程序分析而另外加的,讀者書寫源程序時請務必將序號去掉。本書所有程序均保存在D:\Java目錄下。【例1一1】源程序名為“HelloWorld.Java”的程序,在屏幕上輸出“HelloWorld.Java歡迎你!”。上一頁下一頁返回2021/7/13401.4項目實施1.4.3Java應用程序(Java1.4項目實施創(chuàng)建Java應用程序源文件(1)打開【附件】中的記事本,在文本編輯界面中鍵入如下程序清單。上一頁下一頁返回2021/7/13411.4項目實施創(chuàng)建Java應用程序源文件上一頁下一頁返回1.4項目實施(2)單擊【文件】一【保存】,將文件命名“HelloWorld.Java”,保存到D:\Java目錄下。本書中所有的程序均保存在D:\Java目錄下。注意:文件名必須和所聲明的公共類的類名即“HelloWorld”保持一致,而且Java是區(qū)分大小寫的,且擴展名必須是“.Java”。2.編譯文件保存成功之后,從【命令提示符】窗口中進人到D:\Java目錄。在此目錄下,進行測試。依次輸入命令:(1)輸入編譯程序命令:上一頁下一頁返回2021/7/13421.4項目實施(2)單擊【文件】一【保存】,將文件命名“1.4項目實施(2)輸入顯示文件目錄命令:dir這時會發(fā)現(xiàn)目錄下多了一個“HelloWorld.class”文件,這是Javac編譯器將源代碼編譯成字節(jié)代碼生成類文件的結(jié)果。再由Java解釋,執(zhí)行"HelloWorld.class”類文件。3.運行輸入運行程序命令:上一頁下一頁返回2021/7/13431.4項目實施上一頁下一頁返回2021/7/13431.4項目實施運行結(jié)果如圖1-19所示。4.程序分析輸出的“HelloWorld,Java歡迎你!”是Java編譯器直接執(zhí)行Java應用程序字節(jié)代碼的結(jié)果。第1句:類的聲明,聲明為“HelloWorld”的類(class)。下面對每個單認進行分析。public:說明類的屬性為公共類,public并不是必須的,可寫可不寫。上一頁下一頁返回2021/7/13441.4項目實施上一頁下一頁返回2021/7/13441.4項目實施class:是Java類的關(guān)鍵字,如果想聲明一個類,必須使用這個關(guān)鍵字class,代表以下的內(nèi)容都是這個類的內(nèi)容。我們可以將類理解為包含程序邏輯的容器,Java程序中的任何部分都必須包含在類中。HelloWorld:是這個類的名字,類名必須以字母開頭。第2-7句:“{”這代表類“HelloWorld”是從這里開始,最后的結(jié)束是在“}”處。第3句:是Java程序的一個特殊方法,又稱main方法。同C語言中的main函數(shù)用法一樣,程序從這個方法開始執(zhí)行。下面對第3行中的每個單詞進行分析。上一頁下一頁返回2021/7/13451.4項目實施class:是Java類的關(guān)鍵字,如果想聲1.4項目實施public:訪問控制符,表示main方法為公共的,可以被調(diào)用,所以這個public不能省。static:是將main方法聲明為靜態(tài)的,在這里這個關(guān)鍵字也不能省。Stringarg[〕:用來接收命令行傳入的參數(shù),String是聲明arg[可存儲字符串數(shù)組。本程序中沒用到這個參數(shù),但這個參數(shù)不能省略,否則出錯。第4,6句:大括號也必須是成對出現(xiàn)的。第5句:是將“HelloWorld,Java歡迎你!”顯示到屏幕上。上一頁下一頁返回2021/7/13461.4項目實施public:訪問控制符,表示main方法1.4項目實施System.out.Println()作一解釋:System是Java中的System類,out是指斷System類中的一個變量,println是out變量的一個方法。1.4.4Java小程序(JavaApplet)Java小程序即JavaApplet,它不能單獨運行,必須通過HTML調(diào)入后,方能執(zhí)行實現(xiàn)其功能,它既可以在Appletveiwer下運行,也可以在支持Java的Web瀏覽器中運行。Applet程序中必須有一個類是Applet類或JApplet類的子類,也是Applet的主類。上一頁下一頁返回2021/7/13471.4項目實施System.out.Println()作1.4項目實施Applet程序能跨平臺、跨操作系統(tǒng)、跨網(wǎng)絡(luò)運行,因此,它在Internet和WWW中得到廣泛的使用。另外,由于Applet程序代碼小,易于快速地下載和發(fā)送,并且,它具有不需要修改應用程序就可增加Web頁新功能的特性,因此Applet程序倍受用戶青睞。Java小程序的執(zhí)行流程如圖1-20所示。首先在文本編輯器中編寫Java源程序(*.Java文件),并通過Java編譯器編譯成Java字節(jié)碼(*.class文件)。然后與Java應用程序不同的是還得另外編寫一個HTML文件將該字節(jié)碼嵌入其中;再將此字節(jié)碼文件和HTML文件保存在Web服務器的特定路徑下。上一頁下一頁返回2021/7/13481.4項目實施Applet程序能跨平臺、跨操作系統(tǒng)、跨網(wǎng)1.4項目實施當WWW瀏覽器請求HTML文件時,首先將HTML文件下載到WWW瀏覽器,若HTML中嵌入Applet,WWW瀏覽器再向WWW服務器請求下載HTML中指定的Applet字節(jié)碼。下載Applet字節(jié)碼后,WWW瀏覽器使用內(nèi)嵌的Java解釋器解釋執(zhí)行Applet顯示運行結(jié)果。【例1–2】Applet小程序示例,源程序名為“Hello.Java”,顯示“你好Java!”。Applet程序清單如下。1.創(chuàng)建Applet源文件上一頁下一頁返回2021/7/13491.4項目實施當WWW瀏覽器請求HTML文件時,首先將H1.4項目實施上一頁下一頁返回2021/7/13501.4項目實施上一頁下一頁返回2021/7/13501.4項目實施(1)打開【附件】中的記事本,在文本編輯界面中鍵入程序清單。

(2)單擊【文件】一【保存】,將文件命名為“Hello.Java”,保存到D:\Java目錄下。2.編譯Applet小程序Applet小程序Hello.Java。編寫完成后,需對其進行編譯,產(chǎn)生字節(jié)碼文件Hello.class,其編譯方法與Java應用程序相同。打開DOS窗口,輸入“JavacHello.Java”命令編譯生成Hello.class文件,如圖1-21所示。上一頁下一頁返回2021/7/13511.4項目實施(1)打開【附件】中的記事本,在文本編輯界1.4項目實施3.編寫HTML代碼對于Applet小程序的字節(jié)碼程序Hello.class必須嵌入到HTML代碼中,才可以完成小程序的功能。所以,還必須為Hello.class編寫一個HTML的代碼文件,將字節(jié)碼程序引入其中。下面是嵌入Hello.class代碼的HTML程序示例,文件名為hello.html,如圖1-22所示。上一頁下一頁返回2021/7/13521.4項目實施3.編寫HTML代碼上一頁下一頁返回2021.4項目實施4.運行H下ML代碼程序完成Hello.html的編寫后,Applet小程序的運行有兩種方式:一種是使用InternetExplorer瀏監(jiān)器(簡稱IE)解釋運行它:另一種是使用appletviewer命今運行它。(1)雙擊Hello.html文件,在瀏覽器中執(zhí)行小應用程序。運行結(jié)果如圖1-23所示。(2)打開DOS窗口,輸入“appletviewerHello.html”命令,即使用Applet閱讀器(JDK的appletveiwer)執(zhí)行小應用程序,運行結(jié)果如圖1-24所示。上一頁下一頁返回2021/7/13531.4項目實施4.運行H下ML代碼程序上一頁下一頁返回21.4項目實施5.程序分析(1)Applet源文件分析。第1,2句是import語句,指出本Applet程序所需要的Graphics類、Applet類,分別在Java.applet.*,Java.awt包中。編寫Applet程序,通常都要導入Applet類。第3句,由關(guān)鍵字class引入類的定義,Hello為類名,關(guān)鍵字extends說明該類繼承Applet類,即定義的Hello類是Applet的子類,該類是public型。與Java應用程序一樣,把一個public類存入文件時,定義的類名必須是文件名。編寫好的程序存入Hello.Java文件中。上一頁下一頁返回2021/7/13541.4項目實施5.程序分析上一頁下一頁返回2021/7/1.4項目實施程序中只有一個方法,用第5句表示,其中參數(shù)f為Graphics類,表示當前作畫的上下文。第7句在該方法中,f調(diào)用方法drawString(),在坐標(10,50)處輸出字符串“你好Java!",其中坐標以像素為單位。(2)HTML文件分析。HTML標記都是成對出現(xiàn)的,如<HTML>與</HTML>成對出現(xiàn),它們表示HTML標記的起始和結(jié)束。而<APPLETCODE_“Hello.class”width=400height-150>語句是Applet的特殊HTML標記,用來告訴瀏覽器或Applet工具應裝載的Applet,并設(shè)定顯示窗口的寬度400mm和長度150mm。上一頁返回2021/7/13551.4項目實施程序中只有一個方法,用第5句表示,其中參數(shù)1.5項目總結(jié)本章主要介紹了Java的基礎(chǔ)知識,包括Java軟件開發(fā)包的安裝方法、環(huán)境變量的配置方法。通過本帝的學習應當熟練掌握Java程序編輯、編譯的過程和運用Application與Applet兩種程序的方法。掌握把Java的Applet程序嵌入到HTML文件中的方法。返回2021/7/13561.5項目總結(jié)本章主要介紹了Java的基礎(chǔ)知識,包括Ja1.6擴展演練1.自己動手下載、安裝并設(shè)置JCreator軟件包。2.編寫一個簡單的JavaApplication程序。3.編寫一個簡單的JavaApplet程序。返回2021/7/13571.6擴展演練1.自己動手下載、安裝并設(shè)置JCreato圖1—1返回2021/7/1358圖1—1返回2021/7/1358圖1—2返回2021/7/1359圖1—2返回2021/7/1359圖1—3返回2021/7/1360圖1—3返回2021/7/1360圖1—4返回2021/7/1361圖1—4返回2021/7/1361圖1—5返回2021/7/1362圖1—5返回2021/7/1362圖1—6返回2021/7/1363圖1—6返回2021/7/1363圖1—7返回2021/7/1364圖1—7返回2021/7/1364圖1—8返回2021/7/1365圖1—8返回2021/7/1365圖1—9返回2021/7/1366圖1—9返回2021/7/1366圖1—10返回2021/7/1367圖1—10返回2021/7/1367圖1—11返回2021/7/1368圖1—11返回2021/7/1368圖1—12返回2021/7/1369圖1—12返回2021/7/1369圖1—13返回2021/7/1370圖1—13返回2021/7/1370圖1—14返回2021/7/1371圖1—14返回2021/7/1371圖1—15返回2021/7/1372圖1—15返回2021/7/1372圖1—16返回2021/7/1373圖1—16返回2021/7/1373圖1—17返回2021/7/1374圖1—17返回2021/7/1374圖1—18返回2021/7/1375圖1—18返回2021/7/1375圖1—19返回2021/7/1376圖1—19返回2021/7/1376圖1—20返回2021/7/1377圖1—20返回2021/7/1377圖1—21返回2021/7/1378圖1—21返回2021/7/1378圖1—22返回2021/7/1379圖1—22返回2021/7/1379圖1—23返回2021/7/1380圖1—23返回2021/7/1380圖1—24返回2021/7/1381圖1—24返回2021/7/1381大家想一想,在Windows系統(tǒng)下編寫的程序能夠不做修改就直接拿到UNIX系統(tǒng)上運行嗎?顯然是不可以的,因為程序的執(zhí)行最終必須轉(zhuǎn)換成為計算機硬件的機器指令來執(zhí)行,專門為某種計算機硬件和操作系統(tǒng)編寫的程序是不能夠直接放到另外的計算機硬件上執(zhí)行的,至少要做移植工作。要想讓程序能夠在不同的計算機上運行,就要求程序設(shè)計語言是能夠跨越各種軟件和硬件平臺的,而Java滿足了這一需求。下一頁項目1Java語言入門2021/7/1382大家想一想,在Windows系統(tǒng)下編寫的程序能夠不做修改就直1995年,美國SunMicrosystems公司正式向IT業(yè)界推出了Java語言,該語言具有安全、跨平臺、面向?qū)ο蟆⒑唵?、適用于網(wǎng)絡(luò)等顯著特點。當時以Web為主要形式的互聯(lián)網(wǎng)正在迅猛發(fā)展,Java語言的出現(xiàn)迅速引起所有程序員和軟件公司的極大關(guān)注,程序員們紛紛嘗試用Java語言編寫網(wǎng)絡(luò)應用程序,并利用網(wǎng)絡(luò)把程序發(fā)布到世界各地進行運行。包括IBM,Oracle,微軟,Netscape,Apple,SGI等大公司紛紛與SunMicrosystems公司簽訂合同,授權(quán)使用Java平臺技術(shù)。微軟公司總裁比爾·蓋茨先生在經(jīng)過研究后認為“Java語言是長時間以來最卓越的程序設(shè)計語言”。目前,Java語言已經(jīng)成為最流行的網(wǎng)絡(luò)編程語言,截止到2001年中,全世界大約有310萬Java程序員,許多大學紛紛開設(shè)Java課程,Java正逐步成為世界上程序員最多的編程語言。下一頁項目1Java語言入門上一頁2021/7/13831995年,美國SunMicrosystems公司正式向I在經(jīng)歷了以大型機為代表的集中計算模式和以PC為代表的分散計算模式之后,互聯(lián)網(wǎng)的出現(xiàn)使得計算模式進入了網(wǎng)絡(luò)計算時代。網(wǎng)絡(luò)計算模式的一個特點是計算機是異構(gòu)的,即計算機的類型和操作系統(tǒng)是不一樣的,例如Sun工作站的硬件是SPARC體系,軟件是UNIX中的Solaris操作系統(tǒng),而PC的硬件是Intel體系,操作系統(tǒng)是windows或者是Linux,因此相應的編程語言基本上只適用于單機系統(tǒng),例如COBOL,FORTRAN,C,C++等;網(wǎng)絡(luò)計算模式的另一個特點是代碼可以通過網(wǎng)絡(luò)在各種計算機上進行遷移,這就迫切需要一種跨平臺的編程語言,使得用它編寫的程序能夠在網(wǎng)絡(luò)中的各種計算機上正常運行,Java就是在這種需求下應運而生的。正是因為Java語言符合了互聯(lián)網(wǎng)時代的發(fā)展要求,才使它獲得了巨大的成功。下一頁項目1Java語言入門上一頁2021/7/1384在經(jīng)歷了以大型機為代表的集中計算模式和以PC為代表的分散計算項目1Java語言入門1.1項目概述1.2項目目的1.3項目支撐知識1.4項目實施1.5項目總結(jié)1.6擴展演練2021/7/1385項目1Java語言入門1.1項目概述2021/7/1在本項目中主要學習Java基本特性、Java的發(fā)展簡史、運行機制,以及Java開發(fā)環(huán)境的安裝、配置方法、Java工作原理,并且通過介紹Java應用程序的一個簡單示例,來學習Java應用程序的開發(fā)流程,來解程序的基本結(jié)構(gòu)。返回1.1項目概述2021/7/1386在本項目中主要學習Java基本特性、Java的發(fā)展簡史、運行了解Java的基本概念、特點。掌握Java運行環(huán)境的設(shè)置和開發(fā)工具的使用。掌握兩類Java程序編寫、調(diào)試、運行的區(qū)別。返回1.2項目目的2021/7/1387了解Java的基本概念、特點。返回1.2項目目的2021.3項目支撐知識1.3.1項目開發(fā)背景知識1Java產(chǎn)生的背景1991年,Sun公司的JamesGosling,BillJoe等人,為電視、控制烤面包機等家用電器的交互操作開發(fā)了一個Oak(一種橡樹的名字)軟件,它是Java的前身。當時,Oak并沒有引起人們的注意,直到1994年,隨著互聯(lián)網(wǎng)和3W的飛速發(fā)展,他們用Java編制了HotJava瀏覽器,得到了Sun公司首席執(zhí)行官ScowMcNealy的支持,得以研發(fā)和發(fā)展。為了促銷和法律的原因,1995年Oak更名為Java。下一頁返回2021/7/13881.3項目支撐知識1.3.1項目開發(fā)背景知識11.3項目支撐知識Java的得名過程:一天,Java小組成員正在喝咖啡時,議論給新語言起個什么名字的問題,有人提議用Java(Java是印度尼西亞盛產(chǎn)咖啡的一個島嶼),這個提議得到了其他成員的贊同,于是就采用Java來命名此新語言。很快Java被工業(yè)界認可,許多大公司如IBMMicrosoft.DEC等購買了Java的使用權(quán),并被美國雜志PCMagazine評為1995年十大優(yōu)秀科技產(chǎn)品。從此,開始了Java應用的新篇章。上一頁下一頁返回2021/7/13891.3項目支撐知識Java的得名過程:一天,Java小組1.3項目支撐知識Java的誕生是對傳統(tǒng)計算機模式的挑戰(zhàn),對計算機軟件開發(fā)和軟件產(chǎn)業(yè)都產(chǎn)生了深遠的影響。(1)軟件4A目標要求軟件能達到任何人在任何地方在任何時間對任何電子設(shè)備都能應用。這樣能滿足軟件平臺上互相操作,具有可伸縮性和重用性并可即插即用等分布式計算模式的需求。(2)基于構(gòu)建開發(fā)方法的崛起,引出了CORBA國際標準軟件體系結(jié)構(gòu)和多層應用體系框架。在此基礎(chǔ)上形成了Java.2平臺和.NET平臺兩大派系,推動了整個IT業(yè)的發(fā)展。上一頁下一頁返回2021/7/13901.3項目支撐知識Java的誕生是對傳統(tǒng)計算機模式的挑戰(zhàn)1.3項目支撐知識(3)對軟件產(chǎn)業(yè)和工業(yè)企業(yè)都產(chǎn)生了深遠的影響,軟件從以開發(fā)為中心轉(zhuǎn)到了以服務為中心。中間提供商、構(gòu)件提供商、服務器軟件以及咨詢服務商出現(xiàn)。企業(yè)必須重塑自我,B2B的電子商務將帶動整個新經(jīng)濟市場,使企業(yè)獲得新的價值、新的增長、新的商機、新的管理。(4)對軟件開發(fā)帶來了新的革命,重視使用第三方構(gòu)件集成,利用平臺的基礎(chǔ)設(shè)施服務,實現(xiàn)開發(fā)各個階段的重要技術(shù),重視開發(fā)團隊的組織和文化理念,協(xié)作、創(chuàng)作、責任、誠信是人才的基本素質(zhì)??傊?,目前已看到了Java對信息時代的重要性,未來還會不斷發(fā)展,Java在應用方面將會有更廣闊的前景。上一頁下一頁返回2021/7/13911.3項目支撐知識(3)對軟件產(chǎn)業(yè)和工業(yè)企業(yè)都產(chǎn)生了深遠1.3項目支撐知識1.3.2項目開發(fā)背景知識2Java語言特性Java自誕生之日起,就受到了全世界的關(guān)注。這是因為它自身的眾多突出優(yōu)點造成的,具體來說有以下主要特點。1.Java語言是簡單易學的Java語言的語法與C語言和C++語言很接近,使得大多數(shù)程序員很容易學習和使用Java。另一方面,Java丟棄lC++中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強制類型轉(zhuǎn)換。特別地,Java語言不使用指針,并提供了自動的廢料收集,使得程序員不必為內(nèi)存管理而擔憂。上一頁下一頁返回2021/7/13921.3項目支撐知識1.3.2項目開發(fā)背景知識2J1.3項目支撐知識2.Java語言是面向?qū)ο蟮腏ava語言提供類、接口和繼承等原語,為了簡單起見,只支持類之間的單繼但支持接口之間的多繼承,并支持類與接口之間的實現(xiàn)機制(關(guān)鍵字為implements)。Java語言全面支持動態(tài)綁定,而C++語言只對虛函數(shù)使用動態(tài)綁定??傊?,Java語言是一個純的面向?qū)ο蟪绦蛟O(shè)計的語言。上一頁下一頁返回2021/7/13931.3項目支撐知識2.Java語言是面向?qū)ο蟮纳弦豁撓乱?.3項目支撐知識3.Java語言是分布式的Java語言支持Internet應用的開發(fā),在基本的Java應用編程接口中有一個網(wǎng)絡(luò)應用編程接口(J),它提供了用于網(wǎng)絡(luò)應用編程的類庫,包括URL,URLConnection,Socket,ServerSocket等。Java的RMI(遠程方法激活)機制也是開發(fā)分布式應用的重要手段。上一頁下一頁返回2021/7/13941.3項目支撐知識3.Java語言是分布式的上一頁下一頁1.3項目支撐知識4.Java語言是健壯的Java的強類型機制、異常處理、廢料的自動收集等是Java程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機制使得Java更具健壯性。5.Java語言是安全的Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個安全機制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網(wǎng)絡(luò)下載的類具有一個安全防范機制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機制(類SecurityManager)讓Java應用設(shè)置安全哨兵。上一頁下一頁返回2021/7/13951.3項目支撐知識4.Java語言是健壯的上一頁下一頁返1.3項目支撐知識在網(wǎng)絡(luò)、分布環(huán)境下的Java必須防止病毒的入侵,而Java程序的三級代碼安全檢查機制就可防止非法代碼的入侵,阻止對內(nèi)存的越權(quán)訪問,避免病毒的侵害。Java程序在執(zhí)行前,要經(jīng)過3次檢查,分別是Java本身的代碼檢查、字節(jié)碼的檢查、Java解釋器的檢查。如圖1-1所示。6.Java語言是體系結(jié)構(gòu)中立的Java程序(后綴為Java的文件)在Java平臺上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件),然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。上一頁下一頁返回2021/7/13961.3項目支撐知識在網(wǎng)絡(luò)、分布環(huán)境下的Java必須防止病1.3項目支撐知識7.Java語言是可移植的這種可移植性來源于體系結(jié)構(gòu)中立性。另外,Java還嚴格規(guī)定了各個基本數(shù)據(jù)類型的長度。Java系統(tǒng)本身也具有很強的可移植性,Java編譯器是用Java實現(xiàn)的,Java的運行環(huán)境是用ANSIC實現(xiàn)的。8.Java語言是解釋型的如前所述,Java程序在Java平臺上被編譯為字節(jié)碼格式,然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運行。在運行時,Java平臺中的Java解釋器對這些字節(jié)碼進行解釋執(zhí)行,執(zhí)行過程中需要的類在連接階段被載人到運行環(huán)境中。上一頁下一頁返回2021/7/13971.3項目支撐知識7.Java語言是可移植的上一頁下一頁1.3項目支撐知識9.Java是高性能的與那些解釋型的高級腳本語言相比,Java的確是高性能的。事實上,Java的運行速度隨著JIT(Just-in-Time)編譯器技術(shù)的發(fā)展越來越接近于C++。10.Java語言是多線程的在Java語言中,線程是一種特殊的對象,它必須由Thread類或其子(孫)類來創(chuàng)建。通常有兩種方法來創(chuàng)建線程:其一,使用型構(gòu)為Thread(Runnable)的構(gòu)造子將一個實現(xiàn)了Runnable接口的對象包裝成一個線程;其二,從Thread類派生出子類并重寫run方法,使用該子類創(chuàng)建的對象即為線程。上一頁下一頁返回2021/7/13981.3項目支撐知識9.Java是高性能的上一頁下一頁返回1.3項目支撐知識值得注意的是Thread類已經(jīng)實現(xiàn)了Runnable接口,因此,任何一個線程均有它的run方法,而run方法中包含了線程所要運行的代碼。線程的活動由一組方法來控制。Java語言支持多個線程的同時執(zhí)行,并提供多線程之間的同步機制(關(guān)鍵字為synchronized)。11.Java語言是動態(tài)的Java語言的設(shè)計目標之一是適應于動態(tài)變化的環(huán)境。Java程序需要的類能夠動態(tài)地被載入到運行環(huán)境,也可以通過網(wǎng)絡(luò)來載入所需要的類,這也有利于軟件的升級。另外,Java中的類有一個運行時刻的表示,能進行運行時刻的類型檢查。上一頁下一頁返回2021/7/13991.3項目支撐知識值得注意的是Thread類已經(jīng)實現(xiàn)了R1.3項目支撐知識

Java語言的優(yōu)良特性使得Java應用具有無比的健壯性和可靠性,這也減少了應用系統(tǒng)的維護費用。Java對對象技術(shù)的全面支持和Java平臺內(nèi)嵌的API能縮短應用系統(tǒng)的開發(fā)時間并降低成本。Java的編譯一次,就可到處運行的特性使得它能夠提供一個隨處可用的開放結(jié)構(gòu)和在多平臺之間傳遞信息的低成本方式。特別是Java企業(yè)應用編程接口(JavaEnterpriseAPIs)為企業(yè)計算及電子商務應用系統(tǒng)提供了有關(guān)技術(shù)和豐富的類庫。上一頁下一頁返回2021/7/131001.3項目支撐知識Java語言的優(yōu)良特性使得Java應1.3項目支撐知識1.3.3項目開發(fā)背景知識3Java運行機制Java程序的運行必須經(jīng)過編寫、編譯、運行3個步驟。編寫是指在Java開發(fā)環(huán)境中進行程序代碼的輸入,最終形成后綴名為.Java的Java源文件。編譯是指使用Java編譯器對源文件進行錯誤排查的過程,編譯后將生成后綴名為.class的字節(jié)碼文件,這不像C語言那樣最終生成可執(zhí)行文件。運行是指使用Java解釋器將字節(jié)碼文件翻譯成機器代碼,執(zhí)行并顯示結(jié)果。這一過程如圖1-2所示。上一頁下一頁返回2021/7/131011.3項目支撐知識1.3.3項目開發(fā)背景知識3J1.3項目支撐知識字節(jié)碼文件是一種和任何具體機器環(huán)境及操作系統(tǒng)環(huán)境無關(guān)的中間代碼,它是一種二進制文件,是Java源文件由Java編譯器編譯后生成的目標代碼文件。編程人員和計算機都無法直接讀懂字節(jié)碼文件,它必須由專用的Java解釋器來解釋執(zhí)行,因此Java是一種在編譯基礎(chǔ)上進行解釋運行的語言。Java解釋器負責將字節(jié)碼文件翻譯成具體硬件環(huán)境和操作系統(tǒng)平臺下的機器代碼,以便執(zhí)行。因此Java程序不能直接運行在現(xiàn)有的操作系統(tǒng)平臺上,它必須運行在被稱為Java虛擬機的軟件平臺之上。上一頁下一頁返回2021/7/131021.3項目支撐知識字節(jié)碼文件是一種和任何具體機器環(huán)境及操1.3項目支撐知識Java虛擬機(JVM)是運行Java程序的軟件環(huán)境,Java解釋器就是Java虛擬機的一部分。在運行Java程序時,首先會啟動JVM,然后由它來負責解釋執(zhí)行Java的字節(jié)碼,并且Java字節(jié)碼只能運行于JVM之上。這樣,利用JVM就可以把Java字節(jié)碼程序和具體的硬件平臺以及操作系統(tǒng)環(huán)境分隔開來,只要在不同的計算機上安裝了針對于特定具體平臺的JVM,Java程序就可以運行,而不用考慮當前具體的硬件平臺及操作系統(tǒng)環(huán)境,也不用考慮字節(jié)碼文件是在何種平臺上生成的。JVM把這種不同軟硬件平臺的具體差別隱藏起來,從而實現(xiàn)了真正的二進制代碼級的跨平臺移植。JVM是與Java平臺無關(guān)的基礎(chǔ),Java的跨平臺特性正是通過在JVM中運行Java程序?qū)崿F(xiàn)的。Java虛擬機的運行機制圖可以通過圖1-3說明。上一頁下一頁返回2021/7/131031.3項目支撐知識Java虛擬機(JVM)是運行Java1.3項目支撐知識Java語言這種“一次編寫,到處運行(writeonce,runanywhere)”的方式,有效地解決了目前大多數(shù)高級程序設(shè)計語言需要針對不同系統(tǒng)來編譯產(chǎn)生不同機器代碼的問題,即硬件環(huán)境和操作平臺的異構(gòu)問題,大大降低了程序開發(fā)、維護和管理的開銷。需要注意的是,Java程序通過JVM可以達到跨平臺特性,但JVM是不跨平臺的。也就是說,不同操作系統(tǒng)之上的JVM是不同的,Windows平臺之上的JVM不能用在Linux上面,反之亦然。上一頁下一頁返回2021/7/131041.3項目支撐知識Java語言這種“一次編寫,到處運行(1.3項目支撐知識1.3.4項目開發(fā)背景知識4Java的運行環(huán)境Java開發(fā)環(huán)境的基本要求非常低,只需一個Java開發(fā)工具包(JavaDevelopmentKitJDK),再加上一個純文本編輯器即可。為了提高開發(fā)效率,可以使用功能強大的文本編輯工具,例如記事本、UltraEdit等。對于熟練的開發(fā)人員,為了進一步提高開發(fā)效率,還可以使用具有可視化功能的Java專用開發(fā)工具,例如Jcreator,Jbuilder,J++,NetBeans。本書程序以記事本為編輯工具。上一頁下一頁返回2021/7/131051.3項目支撐知識1.3.4項目開發(fā)背景知識4Java1.3項目支撐知識Java不僅提供了一個豐富的語言和運行環(huán)境,而且還提供了一個免費的Java軟件開發(fā)工具集(JavaDevelopmentKits,JDK)。到目前為止,Sun公司先后發(fā)布了多個主要的JDK的版本。其主要版本的發(fā)布時間和特點如下。(1)JDK1.0;1995年推出,是Java最早的編譯環(huán)境。(2)JDK1.2;1998年發(fā)布,在圖形化用戶界面、數(shù)據(jù)庫互聯(lián)以及其他許多方面作了重大改進。這個版本也稱作帶有JDK1.2的Java1.2版本。由于該版本具有重大改變,所以從Java1.2版本后的Java語言也稱作Java2語言。上一頁下一頁返回2021/7/131061.3項目支撐知識Java不僅提供了一個豐富的語言和運行1.3項目支撐知識(3)JDK1.3:在多媒體應用、編譯速度等方面做了改進。(4)JDK1.4:斷言(assert),為程序的調(diào)試提供了強有力的支持。(5)JDK1.5(JDK5.0):第一個對Java語言做出最大改進的版本,添加了泛型類型、"foreach”循環(huán)、自動打包、元數(shù)據(jù)等新特性。(6)JDK1.6:目前最新的版本。JDK1.6中有9大新特性。其中之一,JDK1.6中自帶JAXB2.o,JAXB是JavaArchitectureforXMLBinding的縮寫,可以將一個Java對象轉(zhuǎn)變成為XML格式,反之亦然。上一頁下一頁返回2021/7/

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論