

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、北軟教育www.softedu.g|北京java培訓、網(wǎng)絡培訓、網(wǎng)絡安全培訓、.培訓.cnJavaJava經(jīng)典教程經(jīng)典教程基礎入門及提高基礎入門及提高前言同人類任何語言一樣,Java為我們提供了一種表達思想的方式。如操作得當,同其他方式相比,隨著問題變得愈大和愈復雜,這種表達方式的方便性和靈活性會顯露無遺。不可將Java簡單想象成一系列特性的集合;如孤立地看,有些特性是沒有任何意義的。只有在考慮“設計”、而非考慮簡單的編碼時,才可真正體
2、會到Java的強大。為了按這種方式理解Java,首先必須掌握它與編程的一些基本概念。本書討論了編程問題、它們?yōu)楹螘蔀閱栴}以及Java用以解決它們的方法。所以,我對每一章的解釋都建立在如何用語言解決一種特定類型的問題基礎上。按這種方式,我希望引導您一步一步地進入Java的世界,使其最終成為您最自然的一種語言。貫穿本書,我試圖在您的大腦里建立一個模型——或者說一個“知識結構”。這樣可加深對語言的理解。若遇到難解之處,應學會把它填入這個模型
3、的對應地方,然后自行演繹出答案。事實上,學習任何語言時,腦海里有一個現(xiàn)成的知識結構往往會起到事半功倍的效果。1.前提本書假定讀者對編程多少有些熟悉。應已知道程序是一系列語句的集合,知道子程序/函數(shù)/宏是什么,知道象“If”這樣的控制語句,也知道象“while”這樣的循環(huán)結構。注意這些東西在大量語言里都是類似的。假如您學過一種宏語言,或者用過Perl之類的工具,那么它們的基本概念并無什么區(qū)別??傊?,只要能習慣基本的編程概念,就可順利閱讀本
4、書。當然,CC程序員在閱讀時能占到更多的便宜。但即使不熟悉C,一樣不要把自己排除在外(盡管以后的學習要付出更大的努力)。我會講述面向?qū)ο缶幊痰母拍?,以及Java的基本控制機制,所以不用擔心自己會打不好基礎。況且,您需要學習的第一類知識就會涉及到基本的流程控制語句。盡管經(jīng)常都會談及C和C語言的一些特性,但并沒有打算使它們成為內(nèi)部參考,而是想幫助所有程序員都能正確地看待那兩種語言。畢竟,Java是從它們那里衍生出來的。我將試著盡可能地簡化這
5、些引用和參考,并合理地解釋一名非CC程序員通常不太熟悉的內(nèi)容。2.Java的學習在我第一本書《UsingC》面市的幾乎同一時間(OsbneMcGrawHill于1989年出版),我開始教授那種語言。程序設計語言的教授已成為我的專業(yè)。自1989年以來,我便在世界各地見過許多昏昏欲睡、滿臉茫然以及困惑不解的面容。開始在室內(nèi)面向較少的一組人授課以后,我從作業(yè)中發(fā)現(xiàn)了一些特別的問題。即使那些上課面帶會心的微笑或者頻頻點頭的學生,對許多問題也存在
6、認識上的混淆。在過去幾年間的“軟件開發(fā)會議”上,由我主持C分組討論會(現(xiàn)在變成了Java討論會)。有的演講人試圖在很短的時間內(nèi)向聽眾灌輸過多的主題。所以到最后,盡管聽眾的水平都還可以,而且提供的材料也很充足,但仍然損失了一部分聽眾。這可能是由于問得太多了,但由于我是那些采取傳統(tǒng)授課方式的人之一,所以很想使每個人都能跟上講課進度。有段時間,我編制了大量教學簡報。經(jīng)過不斷的試驗和修訂(或稱“反復”,這是在Java程序設計中非常有用的一項技術
7、),最后成功地在一門課程中集成了從我的教學經(jīng)驗中總結出來的所有東西——我在很長一段時間里都在使用。其中由一系列離散的、易于消化的小步驟組成,而且每個小課程結束后都有一些適當?shù)木毩?。我目前已在Java公開研討會上公布了這一課程,大家可到了解詳情(對研討會的介紹也以CDROM北軟教育www.softedu.g|北京java培訓、網(wǎng)絡培訓、網(wǎng)絡安全培訓、.培訓.cn本書在設計時認真考慮了人們學習Java語言的方式。在我授課時,學生們的反映有效
8、地幫助了我認識哪些部分是比較困難的,需特別加以留意。我也曾經(jīng)一次講述了太多的問題,但得到的教訓是:假如包括了大量新特性,就需要對它們?nèi)孔鞒鼋忉?,而這特別容易加深學生們的混淆。因此,我進行了大量努力,使這本書一次盡可能地少涉及一些問題。所以,我在書中的目標是讓每一章都講述一種語言特性,或者只講述少數(shù)幾個相互關聯(lián)的特性。這樣一來,讀者在轉(zhuǎn)向下一主題時,就能更容易地消化前面學到的知識。下面列出對本書各章的一個簡要說明,它們與我實際進行的課堂
9、教學是對應的。(1)第1章:對象入門這一章是對面向?qū)ο蟮某绦蛟O計(OOP)的一個綜述,其中包括對“什么是對象”之類的基本問題的回答,并講述了接口與實現(xiàn)、抽象與封裝、消息與函數(shù)、繼承與合成以及非常重要的多形性的概念。這一章會向大家提出一些對象創(chuàng)建的基本問題,比如構建器、對象存在于何處、創(chuàng)建好后把它們置于什么地方以及魔術般的垃圾收集器(能夠清除不再需要的對象)。要介紹的另一些問題還包括通過違例實現(xiàn)的錯誤控制機制、反應靈敏的用戶界面的多線程處
10、理以及連網(wǎng)和因特網(wǎng)等等。大家也會從中了解到是什么使得Java如此特別,它為什么取得了這么大的成功,以及與面向?qū)ο蟮姆治雠c設計有關的問題。(2)第2章:一切都是對象本章將大家?guī)У娇梢灾謱懽约旱牡谝粋€Java程序的地方,所以必須對一些基本概念作出解釋,其中包括對象“句柄”的概念;怎樣創(chuàng)建一個對象;對基本數(shù)據(jù)類型和數(shù)組的一個介紹;作用域以及垃圾收集器清除對象的方式;如何將Java中的所有東西都歸為一種新數(shù)據(jù)類型(類),以及如何創(chuàng)建自己的類;
11、函數(shù)、自變量以及返回值;名字的可見度以及使用來自其他庫的組件;static關鍵字;注釋和嵌入文檔等等。(3)第3章:控制程序流程本章開始介紹起源于C和C,由Java繼承的所有運算符。除此以外,還要學習運算符一些不易使人注意的問題,以及涉及造型、升遷以及優(yōu)先次序的問題。隨后要講述的是基本的流程控制以及選擇運算,這些是幾乎所有程序設計語言都具有的特性:用ifelse實現(xiàn)選擇;用f和while實現(xiàn)循環(huán);用break和continue以及Jav
12、a的標簽式break和contiune(它們被認為是Java中“不見的gogo”)退出循環(huán);以及用switch實現(xiàn)另一種形式的選擇。盡管這些與C和C中見到的有一定的共通性,但多少存在一些區(qū)別。除此以外,所有示例都是完整的Java示例,能使大家很快地熟悉Java的外觀。(4)第4章:初始化和清除本章開始介紹構建器,它的作用是擔保初始化的正確實現(xiàn)。對構建器的定義要涉及函數(shù)過載的概念(因為可能同時有幾個構建器)。隨后要討論的是清除過程,它并非
13、肯定如想象的那么簡單。用完一個對象后,通??梢圆槐毓芩占鲿詣咏槿?,釋放由它占據(jù)的內(nèi)存。這里詳細探討了垃圾收集器以及它的一些特點。在這一章的最后,我們將更貼近地觀察初始化過程:自動成員初始化、指定成員初始化、初始化的順序、static(靜態(tài))初始化以及數(shù)組初始化等等。(5)第5章:隱藏實現(xiàn)過程本章要探討將代碼封裝到一起的方式,以及在庫的其他部分隱藏時,為什么仍有一部分處于暴露狀態(tài)。首先要討論的是package和impt關鍵字,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論