1001 JAVA PROGAMMER'S TIPS
JAVA編程要點1001條
譯 者 序
本文是上世紀 1996年 受香港萬裡書店委託而翻譯的,這裡提供的僅僅是所譯原書的三分之一內容,其餘三分之二由另外兩位同事完成。由於翻譯完成之時正值 1997 年香港迴歸,當時香港以及東南亞局勢比較動蕩,出版社擔心收不回成本,雖然寄來充足稿費,但最終未將此書付諸印刷出版,從此我的底稿也就完全無用,藏在一個 420M 硬碟中一直沒動,一直覺得可惜。後來知道此書在國內 1998 年由電子工業出版社出版了,但幾年以後也脫銷。最近從網上看到仍有人在尋找此書,所以我決定把藏在箱底的硬碟找出來。當時用
WPS 編 寫,現轉 Word 文檔格式,有點亂,現在整理了一下放到網上,讓需要者自由下載。
我所譯的 TIPs 是 1001 條的中間部分 , 從 333 條到 661 條,內容涉及數學和日期函數、數組、搜尋與·排序演算法、抽象表單工具( AWT )、 3D 圖形設計、映像和多媒體編程、圖形化使用者介面( GUI )設計、事件處理、 Applet 設計, 等。這些內容總的說來是比較基本的,同時獨立性也比較強,只要有 C 語言編程基礎,即使完全沒有 JAVA 更基礎的一些 知識,也大部分能看懂。
需要說明,JAVA 開發工具從那時jdk1.1版到現在的1.6、1.7版已有不少改進,好在本書講的都是些基本的技巧,不會有太多變化,我已經用jdk1.6 對其中幾十個作圖程式的源碼做了實驗,不做任何修改,全部都通過(譯文中大都插圖就是我靠這種辦法產生的),所以,這些資料對初學者來說,還是有價值的。
我在提供譯文時,也把原文放在一起,這樣,如果中文翻譯不確切或有差錯,可參照原文來閱讀。如果原文有錯,則在翻譯中將得到注釋。我相信不少人通過英-中對照,對理解內容比只看中文或只看英文都會更好些。如果讀者發現譯文或原文有差錯或疑問,也希望把所在點告訴譯者以便更正(zzwoo@126.com)。
為了便於對照,英文與中文將逐段交織地放在一起,並規定英文用藍色,譯文用黑色,程式碼作為段落用深紅色並加淺藍底。把原文一起放在網上,使版面增加了一倍,好在這是電子出版物,不同於印刷出版,不用擔心因版面而有任何負擔。我在原文中發現的錯誤將它用灰色表示,另外,原文預先有編輯審讀過,並對有錯誤或疑問的字句作了注釋,有些是為排便者提供的,這些注釋我用紅字照樣放在上面,沒有刪除,讀者可以參考。
作為《JAVA圖形編程入門》連載,我選擇了其中的12.1-12.7節,即12章ABSTRACT WINDOWING TOOLKIT(AWT)的全部內容,分7次進行介紹,如下面目錄所示。需要說明,只有12.1節(TIP424-TIP449)包含插圖,其餘大都尚未有圖,建議由讀者自己,根據檔案提供的JAVA源碼,產生所需插圖,譯者也有可能隨時去加入某些插圖。有關這些TIP的詳細內容可開啟各連載後看到,不再另加詳細目錄。
13、14節則分別以《Java多媒體編程》及《Java3D圖形編程》為標題獨立開來,放在12節後面介紹,
08-11節 則以《Java函數、事件、數組、搜尋與排序》這樣一個籠統名稱放在最後介紹,這樣就把下面深藍字部分、也就是我所翻譯的部分,全部介紹完畢。
zzwu於複旦十舍,2008-5-1
Email:zzwoo@126.com。
原書目錄及各部分頁數
(目錄全,譯稿僅中間8-14節)
(12節再分為7節是原書所作,說明其內容很多)
| |
01. GETTING STARTED 001-053(52) 02. PROGRAMMING BASICS 054-185(131) 03. OBJECT-ORIENTED PROGRAMMING 186-207(21) 04. DEFINING YOUR OWN CLASS 208-250(42) 05. JAVA PROGRAMMING IN DETAIL 251-259(8) 06. DIFFERENCE BETWEEN JAVA AND C++ 260-276(16) 07. LANGUAGE BASICS 277-333(56) 08. MATH FUNCTIONS IN JAVA 334-359(25) 09. DATE FUNCTIONS IN JAVA 360-375(15) 10. USING ARRAYS TO STORE DATA 376-401(25) 11. EVENT HANDLING 402-423(21) 12. ABSTRACT WINDOWING TOOLKIT 424-590(166) 12.1. ABSTRACT WINDOWING TOOLKIT 424-449(25) 12.2. ABSTRACT WINDOWING TOOLKIT 450-578(28) 12-3. ABSTRACT WINDOWING TOOLKIT 479-499(20) 12.4. ABSTRACT WINDOWING TOOLKIT 500-525(25) 12.5. ABSTRACT WINDOWING TOOLKIT 526-556(30) 12.6. ABSTRACT WINDOWING TOOLKIT 557-572(15) 12.7. ABSTRACT WINDOWING TOOLKIT 573-590(13) 13. MULTIMEDIA PROGRAMMING 591-625(34) 14. 3-D GRAPHICS 626-661(35) 15. STREAM I/O OPERATIONS 662-708(46) 16. EXCEPTION HANDLING 709-726(17) 17. THREAD PROGRAMMING 727-756(29) 18. DYNAMIC DATA STRUCTURES 757-805(48) 19. NETWORK PROGRAMMING 806-862(56) 20. MEMORY MANAGEMENT 863-871(8) 21. JAVA DATABASE CONNECTIVITY (JDBC) 872-905(33) 22. OBJECT SERIALIZATION 906-925(19) 23. JAVA SECURITY 926-930(4) 24. DEBUGGING JAVA 931-948(17) 25. BUILDING CUSTOM CONTROLS 949-968(19) 26. PUTTING IT ALL TOGETHER 969-989(20) 27. FINISHING UP 990-1001(11) |
|
返 回